800
Is there a possibility to expand / collapse all groups (or group by group) at runtime with a method (equivalent to pressing the + or - button in the group header)

axGrid1.BeginUpdate();
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SortBarVisible = true;
axGrid1.SortBarCaption = "Drag a <b>column</b> header here to group by that column.";
axGrid1.AllowGroupBy = true;
axGrid1.Columns[1].SortOrder = EXGRIDLib.SortOrderEnum.SortAscending;
axGrid1.EndUpdate();
axGrid1.BeginUpdate();
axGrid1.EnsureVisibleColumn(0);
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.set_ExpandItem(var_Items.FirstVisibleItem,false);
axGrid1.EndUpdate();

799
Is there any public method to export the selected data

axGrid1.BeginUpdate();
EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	var_Columns.Add("C1");
	(var_Columns.Add("C2") as EXGRIDLib.Column).FormatColumn = "1 index `A-Z`";
	(var_Columns.Add("C3") as EXGRIDLib.Column).FormatColumn = "100 index ``";
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem("Item 1");
	var_Items.set_SelectItem(var_Items.AddItem("Item 2"),true);
	var_Items.AddItem("Item 3");
axGrid1.EndUpdate();
System.Diagnostics.Debug.Print( "Export CSV Selected Items Only:" );
System.Diagnostics.Debug.Print( axGrid1.Export("","sel").ToString() );

798
How do I enable the scrollbar-extension, as thumb to be shown outside of the control's client area

axGrid1.BeginUpdate();
axGrid1.ScrollBars = EXGRIDLib.ScrollBarsEnum.exDisableBoth;
axGrid1.set_ScrollPartVisible(EXGRIDLib.ScrollBarEnum.exVScroll,EXGRIDLib.ScrollPartEnum.exExtentThumbPart,true);
axGrid1.set_ScrollPartVisible(EXGRIDLib.ScrollBarEnum.exHScroll,EXGRIDLib.ScrollPartEnum.exExtentThumbPart,true);
axGrid1.set_ScrollPartVisible((EXGRIDLib.ScrollBarEnum)0x2,EXGRIDLib.ScrollPartEnum.exExtentThumbPart,true);
axGrid1.ScrollWidth = 4;
axGrid1.set_Background(EXGRIDLib.BackgroundPartEnum.exVSBack,(uint)ColorTranslator.ToWin32(Color.FromArgb(240,240,240)));
axGrid1.set_Background(EXGRIDLib.BackgroundPartEnum.exVSThumb,(uint)ColorTranslator.ToWin32(Color.FromArgb(128,128,128)));
axGrid1.ScrollHeight = 4;
axGrid1.set_Background(EXGRIDLib.BackgroundPartEnum.exHSBack,axGrid1.get_Background(EXGRIDLib.BackgroundPartEnum.exVSBack));
axGrid1.set_Background(EXGRIDLib.BackgroundPartEnum.exHSThumb,axGrid1.get_Background(EXGRIDLib.BackgroundPartEnum.exVSThumb));
axGrid1.set_Background(EXGRIDLib.BackgroundPartEnum.exScrollSizeGrip,axGrid1.get_Background(EXGRIDLib.BackgroundPartEnum.exVSBack));
axGrid1.EndUpdate();

797
I need to format a Column with Currency Format, but we use we are using Dhirams (AED)for the Amount. How to do this

axGrid1.BeginUpdate();
axGrid1.MarkSearchColumn = false;
EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	var_Columns.Add("Name");
	EXGRIDLib.Column var_Column = (var_Columns.Add("Currency") as EXGRIDLib.Column);
		var_Column.SortType = EXGRIDLib.SortTypeEnum.SortNumeric;
		var_Column.AllowSizing = false;
		var_Column.Width = 64;
		var_Column.FormatColumn = "currency(value)";
	EXGRIDLib.Column var_Column1 = (var_Columns.Add("Format") as EXGRIDLib.Column);
		var_Column1.SortType = EXGRIDLib.SortTypeEnum.SortNumeric;
		var_Column1.AllowSizing = false;
		var_Column1.Width = 64;
		var_Column1.FormatColumn = "`AED ` + (value format ``)";
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Value 1");
	var_Items.set_CellValue(h,1,10);
	var_Items.set_CellValue(h,2,10);
	h = var_Items.AddItem("Value 2");
	var_Items.set_CellValue(h,1,20);
	var_Items.set_CellValue(h,2,20);
axGrid1.EndUpdate();

796
How can I have a case-insensitive filter (exFilterDoCaseSensitive flag is not set)

axGrid1.BeginUpdate();
axGrid1.MarkSearchColumn = false;
EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	EXGRIDLib.Column var_Column = (var_Columns.Add("Car") as EXGRIDLib.Column);
		var_Column.DisplayFilterButton = true;
		var_Column.FilterType = EXGRIDLib.FilterTypeEnum.exFilter;
		var_Column.Filter = "MAZDA";
	EXGRIDLib.Column var_Column1 = (var_Columns.Add("Equipment") as EXGRIDLib.Column);
		var_Column1.DisplayFilterButton = true;
		var_Column1.DisplayFilterPattern = false;
		var_Column1.CustomFilter = "Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*";
		var_Column1.FilterType = EXGRIDLib.FilterTypeEnum.exPattern;
		var_Column1.Filter = "AIR BAG";
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.set_CellValue(var_Items.AddItem("Mazda"),1,"Air Bag");
	var_Items.set_CellValue(var_Items.AddItem("Toyota"),1,"Air Bag,Air condition");
	var_Items.set_CellValue(var_Items.AddItem("Ford"),1,"Air condition");
	var_Items.set_CellValue(var_Items.AddItem("Nissan"),1,"Air Bag,ABS,ESP");
	var_Items.set_CellValue(var_Items.AddItem("Mazda"),1,"Air Bag, ABS,ESP");
	var_Items.set_CellValue(var_Items.AddItem("Mazda"),1,"ABS,ESP");
axGrid1.ApplyFilter();
axGrid1.EndUpdate();

795
How can I have a case-sensitive filter

axGrid1.BeginUpdate();
axGrid1.MarkSearchColumn = false;
EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	EXGRIDLib.Column var_Column = (var_Columns.Add("Car") as EXGRIDLib.Column);
		var_Column.DisplayFilterButton = true;
		var_Column.FilterType = EXGRIDLib.FilterTypeEnum.exFilterDoCaseSensitive | EXGRIDLib.FilterTypeEnum.exFilter;
		var_Column.Filter = "Mazda";
	EXGRIDLib.Column var_Column1 = (var_Columns.Add("Equipment") as EXGRIDLib.Column);
		var_Column1.DisplayFilterButton = true;
		var_Column1.DisplayFilterPattern = false;
		var_Column1.CustomFilter = "Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*";
		var_Column1.FilterType = EXGRIDLib.FilterTypeEnum.exFilterDoCaseSensitive | EXGRIDLib.FilterTypeEnum.exPattern;
		var_Column1.Filter = "Air Bag";
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.set_CellValue(var_Items.AddItem("Mazda"),1,"Air Bag");
	var_Items.set_CellValue(var_Items.AddItem("Toyota"),1,"Air Bag,Air condition");
	var_Items.set_CellValue(var_Items.AddItem("Ford"),1,"Air condition");
	var_Items.set_CellValue(var_Items.AddItem("Nissan"),1,"Air Bag,ABS,ESP");
	var_Items.set_CellValue(var_Items.AddItem("Mazda"),1,"Air Bag, ABS,ESP");
	var_Items.set_CellValue(var_Items.AddItem("Mazda"),1,"ABS,ESP");
axGrid1.ApplyFilter();
axGrid1.EndUpdate();

794
How can I exclude an item from aggregate/total computation

(axGrid1.Columns.Add("Default") as EXGRIDLib.Column).set_Def(EXGRIDLib.DefColumnEnum.exCellValueFormat,1);
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.set_LockedItemCount(EXGRIDLib.VAlignmentEnum.exTop,1);
	int h = var_Items.get_LockedItem(EXGRIDLib.VAlignmentEnum.exTop,0);
	var_Items.set_CellValue(h,0,"sum(all,rec,%0)");
	var_Items.set_CellValueFormat(h,0,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items.set_FormatCell(h,0,"`Sum: ` + (value format ``) ");
	var_Items.AddItem(10);
	h = var_Items.AddItem(20);
	var_Items.set_SortableItem(h,false);
	var_Items.set_FormatCell(h,0,"value + ` <fgcolor=808080> this item is excluded from aggregate computations</fgcolor>`");
	var_Items.AddItem(30);

793
Is is possible to change the default group header to display sum rather than count

axGrid1.BeginUpdate();
axGrid1.HasLines = EXGRIDLib.HierarchyLineEnum.exNoLine;
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SingleSort = false;
axGrid1.SortBarVisible = true;
axGrid1.AllowGroupBy = true;
axGrid1.Columns[6].AllowGroupBy = false;
EXGRIDLib.Column var_Column = axGrid1.Columns[1];
	var_Column.GroupByFormatCell = "'<caption> (sum: <b>' + value + '</b>, of Freight)'";
	var_Column.GroupByTotalField = "sum(current,rec,%6)";
	var_Column.SortOrder = true;
axGrid1.EndUpdate();

792
How do I get the caption of the group during the AddGroupItem event

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
private void axGrid1_AddGroupItem(object sender, AxEXGRIDLib._IGridEvents_AddGroupItemEvent e)
{
	EXGRIDLib.Items var_Items = axGrid1.Items;
		System.Diagnostics.Debug.Print( "Caption:" );
		System.Diagnostics.Debug.Print( var_Items.get_CellCaption(e.item,var_Items.get_GroupItem(e.item)) );
		System.Diagnostics.Debug.Print( "Value:" );
		System.Diagnostics.Debug.Print( var_Items.get_CellValue(e.item,var_Items.get_GroupItem(e.item)).ToString() );
}
//this.axGrid1.AddGroupItem += new AxEXGRIDLib._IGridEvents_AddGroupItemEventHandler(this.axGrid1_AddGroupItem);

axGrid1.BeginUpdate();
axGrid1.HasLines = EXGRIDLib.HierarchyLineEnum.exNoLine;
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SingleSort = false;
axGrid1.SortBarVisible = true;
axGrid1.AllowGroupBy = true;
EXGRIDLib.Column var_Column = axGrid1.Columns[1];
	var_Column.GroupByFormatCell = "'<b><caption></b> (' + value + ') group'";
	var_Column.SortOrder = true;
axGrid1.EndUpdate();

791
Is it possible, to add more aggregate functions to grouping header

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
private void axGrid1_AddGroupItem(object sender, AxEXGRIDLib._IGridEvents_AddGroupItemEvent e)
{
	EXGRIDLib.Items var_Items = axGrid1.Items;
		var_Items.set_FormatCell(e.item,var_Items.get_GroupItem(e.item),"value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`");
		var_Items.set_CellValue(e.item,"Min","min(current,all,dbl(%6))");
		var_Items.set_CellValueFormat(e.item,"Min",EXGRIDLib.ValueFormatEnum.exTotalField);
		var_Items.set_CellValue(e.item,"Max","max(current,all,dbl(%6))");
		var_Items.set_CellValueFormat(e.item,"Max",EXGRIDLib.ValueFormatEnum.exTotalField);
		var_Items.set_CellValue(e.item,"Sum","sum(current,all,dbl(%6))");
		var_Items.set_CellValueFormat(e.item,"Sum",EXGRIDLib.ValueFormatEnum.exTotalField);
}
//this.axGrid1.AddGroupItem += new AxEXGRIDLib._IGridEvents_AddGroupItemEventHandler(this.axGrid1_AddGroupItem);

// Change event - Occurs when the user changes the cell's content.
private void axGrid1_Change(object sender, AxEXGRIDLib._IGridEvents_ChangeEvent e)
{
	axGrid1.Refresh();
}
//this.axGrid1.Change += new AxEXGRIDLib._IGridEvents_ChangeEventHandler(this.axGrid1_Change);

axGrid1.BeginUpdate();
axGrid1.HasLines = EXGRIDLib.HierarchyLineEnum.exNoLine;
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SingleSort = false;
axGrid1.SortBarVisible = true;
axGrid1.AllowGroupBy = true;
axGrid1.Columns[1].SortOrder = true;
EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	(var_Columns.Add("Min") as EXGRIDLib.Column).Visible = false;
	(var_Columns.Add("Max") as EXGRIDLib.Column).Visible = false;
	(var_Columns.Add("Sum") as EXGRIDLib.Column).Visible = false;
axGrid1.EndUpdate();

790
Is it possible to display more aggregate functions to a single cell (method 2)

// Change event - Occurs when the user changes the cell's content.
private void axGrid1_Change(object sender, AxEXGRIDLib._IGridEvents_ChangeEvent e)
{
	axGrid1.Refresh();
}
//this.axGrid1.Change += new AxEXGRIDLib._IGridEvents_ChangeEventHandler(this.axGrid1_Change);

axGrid1.BeginUpdate();
axGrid1.SortOnClick = EXGRIDLib.SortOnClickEnum.exNoSort;
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
axGrid1.Indent = 13;
axGrid1.HeaderVisible = false;
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	var_Columns.Add("Items");
	(var_Columns.Add("Quantity") as EXGRIDLib.Column).Editor.EditType = EXGRIDLib.EditTypeEnum.SpinType;
	(var_Columns.Add("Sum") as EXGRIDLib.Column).Visible = false;
	(var_Columns.Add("Min") as EXGRIDLib.Column).Visible = false;
	(var_Columns.Add("Max") as EXGRIDLib.Column).Visible = false;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Items");
	var_Items.set_CellMerge(h,0,1);
	var_Items.set_FormatCell(h,0,"`Items, <b>sum(` + %2 + `), min(` + %3 + `), max(` + %4 + `)</b>`");
	var_Items.set_CellValueFormat(h,0,EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items.set_CellValue(h,2,"sum(current,dir,dbl(%1))");
	var_Items.set_CellValueFormat(h,2,EXGRIDLib.ValueFormatEnum.exTotalField);
	var_Items.set_CellValue(h,3,"min(current,dir,dbl(%1))");
	var_Items.set_CellValueFormat(h,3,EXGRIDLib.ValueFormatEnum.exTotalField);
	var_Items.set_CellValue(h,4,"max(current,dir,dbl(%1))");
	var_Items.set_CellValueFormat(h,4,EXGRIDLib.ValueFormatEnum.exTotalField);
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Item 1"),1,10);
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Item 2"),1,20);
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Item 3"),1,30);
	var_Items.set_ExpandItem(h,true);
axGrid1.EndUpdate();

789
How can I use the current in the aggregate/total field

// Change event - Occurs when the user changes the cell's content.
private void axGrid1_Change(object sender, AxEXGRIDLib._IGridEvents_ChangeEvent e)
{
	axGrid1.Refresh();
}
//this.axGrid1.Change += new AxEXGRIDLib._IGridEvents_ChangeEventHandler(this.axGrid1_Change);

axGrid1.BeginUpdate();
axGrid1.SortOnClick = EXGRIDLib.SortOnClickEnum.exNoSort;
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
axGrid1.Indent = 13;
axGrid1.HeaderVisible = false;
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	var_Columns.Add("Items");
	(var_Columns.Add("Quantity") as EXGRIDLib.Column).Editor.EditType = EXGRIDLib.EditTypeEnum.SpinType;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Items");
	var_Items.set_CellValue(h,1,"sum(current,dir,dbl(%1))");
	var_Items.set_CellValueFormat(h,1,EXGRIDLib.ValueFormatEnum.exTotalField);
	var_Items.set_FormatCell(h,1,"`Total: `+ value");
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Item 1"),1,10);
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Item 2"),1,20);
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Item 3"),1,30);
	var_Items.set_ExpandItem(h,true);
axGrid1.EndUpdate();

788
How can I prevent a specified item to be not included in the aggregate/total function

// Change event - Occurs when the user changes the cell's content.
private void axGrid1_Change(object sender, AxEXGRIDLib._IGridEvents_ChangeEvent e)
{
	axGrid1.Refresh();
}
//this.axGrid1.Change += new AxEXGRIDLib._IGridEvents_ChangeEventHandler(this.axGrid1_Change);

axGrid1.BeginUpdate();
axGrid1.DrawGridLines = EXGRIDLib.GridLinesEnum.exAllLines;
axGrid1.SortOnClick = EXGRIDLib.SortOnClickEnum.exNoSort;
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
axGrid1.HasLines = EXGRIDLib.HierarchyLineEnum.exThinLine;
axGrid1.HeaderVisible = false;
(axGrid1.Columns.Add("Numbers") as EXGRIDLib.Column).Editor.EditType = EXGRIDLib.EditTypeEnum.SpinType;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Numbers");
	var_Items.set_CellEditorVisible(h,0,EXGRIDLib.EditorVisibleEnum.exEditorHidden);
	var_Items.set_ItemBold(var_Items.InsertItem(h,null,10),true);
	var_Items.set_ItemBold(var_Items.InsertItem(h,null,20),true);
	var_Items.set_ItemBold(var_Items.InsertItem(h,null,30),true);
	int h1 = var_Items.InsertItem(h,null,"not included");
	var_Items.set_CellEditorVisible(h1,0,EXGRIDLib.EditorVisibleEnum.exEditorHidden);
	var_Items.set_CellValueFormat(h1,0,EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items.set_CellHAlignment(h1,0,EXGRIDLib.AlignmentEnum.RightAlignment);
	var_Items.set_SortableItem(h1,false);
	h1 = var_Items.InsertItem(0,null,"sum(all,rec,dbl(%0))");
	var_Items.set_ItemBold(h1,true);
	var_Items.set_SelectableItem(h1,false);
	var_Items.set_CellValueFormat(h1,0,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items.set_FormatCell(h1,0,"`Sum: ` + value");
	var_Items.set_ExpandItem(h,true);
axGrid1.EndUpdate();

787
Is is possible to specify which items/cells/fields to be included by the aggregate/total function I am using

// AddItem event - Occurs after a new Item has been inserted to Items collection.
private void axGrid1_AddItem(object sender, AxEXGRIDLib._IGridEvents_AddItemEvent e)
{
	axGrid1.Items.set_SortableItem(e.item,false);
}
//this.axGrid1.AddItem += new AxEXGRIDLib._IGridEvents_AddItemEventHandler(this.axGrid1_AddItem);

// CellStateChanged event - Fired after cell's state has been changed.
private void axGrid1_CellStateChanged(object sender, AxEXGRIDLib._IGridEvents_CellStateChangedEvent e)
{
	EXGRIDLib.Items var_Items = axGrid1.Items;
		var_Items.set_SortableItem(e.item,false);
	axGrid1.Refresh();
}
//this.axGrid1.CellStateChanged += new AxEXGRIDLib._IGridEvents_CellStateChangedEventHandler(this.axGrid1_CellStateChanged);

// Change event - Occurs when the user changes the cell's content.
private void axGrid1_Change(object sender, AxEXGRIDLib._IGridEvents_ChangeEvent e)
{
	axGrid1.Refresh();
}
//this.axGrid1.Change += new AxEXGRIDLib._IGridEvents_ChangeEventHandler(this.axGrid1_Change);

axGrid1.BeginUpdate();
axGrid1.TreeColumnIndex = -1;
axGrid1.FullRowSelect = EXGRIDLib.CellSelectEnum.exColumnSel;
axGrid1.DrawGridLines = EXGRIDLib.GridLinesEnum.exAllLines;
axGrid1.SortOnClick = EXGRIDLib.SortOnClickEnum.exNoSort;
(axGrid1.Columns.Add("Check Numbers") as EXGRIDLib.Column).Editor.EditType = EXGRIDLib.EditTypeEnum.SpinType;
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.set_CellHasCheckBox(var_Items.AddItem(10),0,true);
	int h = var_Items.AddItem(20);
	var_Items.set_CellHasCheckBox(h,0,true);
	var_Items.set_CellState(h,0,1);
	var_Items.set_CellHasCheckBox(var_Items.AddItem(30),0,true);
	h = var_Items.AddItem("sum(all,rec,dbl(%0))");
	var_Items.set_SelectableItem(h,false);
	var_Items.set_CellValueFormat(h,0,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items.set_FormatCell(h,0,"`sum on checked items : ` + value");
axGrid1.EndUpdate();

786
Can I display multiple total/aggregate functions such as sum, min or max, into a single cell (method 1)

// Change event - Occurs when the user changes the cell's content.
private void axGrid1_Change(object sender, AxEXGRIDLib._IGridEvents_ChangeEvent e)
{
	axGrid1.Refresh();
}
//this.axGrid1.Change += new AxEXGRIDLib._IGridEvents_ChangeEventHandler(this.axGrid1_Change);

axGrid1.BeginUpdate();
axGrid1.TreeColumnIndex = -1;
axGrid1.FullRowSelect = EXGRIDLib.CellSelectEnum.exColumnSel;
axGrid1.DrawGridLines = EXGRIDLib.GridLinesEnum.exAllLines;
(axGrid1.Columns.Add("Numbers") as EXGRIDLib.Column).Editor.EditType = EXGRIDLib.EditTypeEnum.SpinType;
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem(10);
	var_Items.AddItem(20);
	var_Items.AddItem(30);
	int h = var_Items.AddItem("sum(all,rec,dbl(%0))");
	var_Items.set_SelectableItem(h,false);
	var_Items.set_CellValueFormat(h,0,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items.set_FormatCell(h,0,"`sum: ` + value");
	h = var_Items.get_SplitCell(h,0);
	var_Items.set_CellValue(0,h,"min(all,rec,dbl(%0))");
	var_Items.set_CellValueFormat(0,h,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items.set_FormatCell(0,h,"`min: ` + value");
	h = var_Items.get_SplitCell(0,h);
	var_Items.set_CellValue(0,h,"max(all,rec,dbl(%0))");
	var_Items.set_CellValueFormat(0,h,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items.set_FormatCell(0,h,"`max: ` + value");
axGrid1.EndUpdate();

785
How can I use the index of the item in total/aggregate functions, rather than root or parent

// Change event - Occurs when the user changes the cell's content.
private void axGrid1_Change(object sender, AxEXGRIDLib._IGridEvents_ChangeEvent e)
{
	axGrid1.Refresh();
}
//this.axGrid1.Change += new AxEXGRIDLib._IGridEvents_ChangeEventHandler(this.axGrid1_Change);

axGrid1.BeginUpdate();
axGrid1.TreeColumnIndex = -1;
axGrid1.FullRowSelect = EXGRIDLib.CellSelectEnum.exColumnSel;
(axGrid1.Columns.Add("Numbers") as EXGRIDLib.Column).Editor.EditType = EXGRIDLib.EditTypeEnum.SpinType;
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Idx") as EXGRIDLib.Column);
	var_Column.FormatColumn = "0 index ``";
	var_Column.Width = 24;
	var_Column.AllowSizing = false;
	var_Column.Enabled = false;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("3 Numbers");
	var_Items.set_ItemHeight(h,0);
	var_Items.set_SelectableItem(h,false);
	var_Items.InsertItem(h,null,10);
	var_Items.InsertItem(h,null,20);
	var_Items.InsertItem(h,null,30);
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("sum(0,dir,dbl(%0))");
	var_Items.set_CellValueFormat(h,0,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items.set_SelectableItem(h,false);
	var_Items.set_FormatCell(h,0,"`sum of first three numbers is ` + value");
	h = var_Items.AddItem("3 Numbers");
	var_Items.set_ItemHeight(h,0);
	var_Items.set_SelectableItem(h,false);
	var_Items.InsertItem(h,null,15);
	var_Items.InsertItem(h,null,35);
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("count(5,dir,dbl(%0))");
	var_Items.set_CellValueFormat(h,0,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items.set_SelectableItem(h,false);
	var_Items.set_FormatCell(h,0,"`count of next two numbers is ` + value");
axGrid1.EndUpdate();

784
How can I have a better view of what current, parent, all, dir or rec means in total/aggregate fields

// Change event - Occurs when the user changes the cell's content.
private void axGrid1_Change(object sender, AxEXGRIDLib._IGridEvents_ChangeEvent e)
{
	axGrid1.Refresh();
}
//this.axGrid1.Change += new AxEXGRIDLib._IGridEvents_ChangeEventHandler(this.axGrid1_Change);

axGrid1.BeginUpdate();
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exGroupLinesAtRoot;
(axGrid1.Columns.Add("Numbers") as EXGRIDLib.Column).Editor.EditType = EXGRIDLib.EditTypeEnum.SpinType;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("");
	var_Items.set_CellValue(h,0,"sum(current,dir,dbl(%0))");
	var_Items.set_CellValueFormat(h,0,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items.set_FormatCell(h,0,"'sum of <fgcolor=FF0000><b>Direct</b> children: '+value + `</fgcolor> using <a>sum(current,dir,dbl(%0))`");
	var_Items.set_ItemForeColor(var_Items.InsertItem(h,null,10),(uint)ColorTranslator.ToWin32(Color.FromArgb(255,0,0)));
	var_Items.set_ItemForeColor(var_Items.InsertItem(h,null,20),(uint)ColorTranslator.ToWin32(Color.FromArgb(255,0,0)));
	var_Items.set_ItemForeColor(var_Items.InsertItem(h,null,30),(uint)ColorTranslator.ToWin32(Color.FromArgb(255,0,0)));
	var_Items.set_ExpandItem(h,true);
EXGRIDLib.Items var_Items1 = axGrid1.Items;
	h = var_Items1.AddItem("");
	var_Items1.set_CellValue(h,0,"sum(current,rec,dbl(%0))");
	var_Items1.set_CellValueFormat(h,0,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items1.set_FormatCell(h,0,"'sum of <fgcolor=00FF00><b>Leaf</b> chidlren: '+value +`</fgcolor> using <a>sum(current,rec,dbl(%0))`");
	var_Items1.set_ItemForeColor(var_Items1.InsertItem(var_Items1.InsertItem(var_Items1.InsertItem(var_Items1.InsertItem(h,null,100),null,10),null,10),null,1),(uint)ColorTranslator.ToWin32(Color.FromArgb(0,255,0)));
	var_Items1.set_ItemForeColor(var_Items1.InsertItem(var_Items1.InsertItem(h,null,200),null,2),(uint)ColorTranslator.ToWin32(Color.FromArgb(0,255,0)));
	var_Items1.set_ItemForeColor(var_Items1.InsertItem(var_Items1.InsertItem(h,null,300),null,3),(uint)ColorTranslator.ToWin32(Color.FromArgb(0,255,0)));
	int h1 = var_Items1.InsertItem(h,null,"sum(parent,direct,%0)");
	var_Items1.set_CellValueFormat(h1,0,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items1.set_FormatCell(h1,0,"'sum of <b>Parent Direct</b> children: '+value +`</fgcolor> using <a>sum(parent,direct,%0)`");
	h1 = var_Items1.InsertItem(h,null,"sum(parent,rec,%0)");
	var_Items1.set_CellValueFormat(h1,0,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items1.set_FormatCell(h1,0,"'sum of <fgcolor=00FF00><b>Parent Leaf</b> children: '+value +`</fgcolor> using <a>sum(parent,rec,%0)`");
	var_Items1.set_ExpandItem(0,true);
EXGRIDLib.Items var_Items2 = axGrid1.Items;
	h = var_Items2.AddItem("");
	var_Items2.set_CellValue(h,0,"sum(all,rec,dbl(%0))");
	var_Items2.set_CellValueFormat(h,0,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items2.set_FormatCell(h,0,"'sum of <fgcolor=FF00FF><b>All (leaf children)</b>: '+value  +`</fgcolor> using <a>sum(all,rec,dbl(%0))`");
EXGRIDLib.Items var_Items3 = axGrid1.Items;
	h = var_Items3.AddItem("");
	var_Items3.set_CellValue(h,0,"sum(all,all,dbl(%0))");
	var_Items3.set_CellValueFormat(h,0,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items3.set_FormatCell(h,0,"'sum of <fgcolor=FF00FF><b>All (children)</b>: '+value  +`</fgcolor> using <a>sum(all,all,dbl(%0))`");
axGrid1.EndUpdate();

783
Do you have any Fit-To-Page options when printing the control

axGrid1.ColumnAutoResize = false;
axGrid1.ContinueColumnScroll = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
// Add 'ExPrint 1.0 Control Library(ExPrint.dll)' reference to your project.
EXPRINTLib.Print var_Print = new EXPRINTLib.Print();
	var_Print.Options = "FitToPage = On";
	var_Print.PrintExt = (axGrid1.GetOcx() as EXGRIDLib.Grid);
	var_Print.Preview();

782
How do I hide the selection

axGrid1.BeginUpdate();
axGrid1.MarkSearchColumn = false;
axGrid1.SelForeColor = axGrid1.ForeColor;
axGrid1.SelBackColor = axGrid1.BackColor;
axGrid1.ShowFocusRect = false;
EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	EXGRIDLib.Column var_Column = (var_Columns.Add("Format") as EXGRIDLib.Column);
		var_Column.FormatColumn = "type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=00" +
"00FF>+'+(value format '2|.|3|,' ): '0.00') )";
		var_Column.set_Def(EXGRIDLib.DefColumnEnum.exCellValueFormat,1);
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem(10);
	var_Items.AddItem(-8);
axGrid1.EndUpdate();

781
How do I access the cells, or how do I get the values in the columns

EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	var_Columns.Add("C1");
	var_Columns.Add("C2");
	var_Columns.Add("C3");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Item 1");
	var_Items.set_CellValue(h,1,"SubItem 1.1");
	var_Items.set_CellValue(h,2,"SubItem 1.2");
	System.Diagnostics.Debug.Print( var_Items.get_CellValue(h,2).ToString() );

780
I am using the FormatColumn/FormatCell to format my columns. Is it possible to ignore the SelForeColor, so the foreground color for selected items does not override my settings

// SelectionChanged event - Fired after a new item has been selected.
private void axGrid1_SelectionChanged(object sender, EventArgs e)
{
	EXGRIDLib.Items var_Items = axGrid1.Items;
		var_Items.ClearItemBackColor(0);
		var_Items.set_ItemBackColor(var_Items.get_SelectedItem(0),(uint)ColorTranslator.ToWin32(Color.FromArgb(128,255,255)));
}
//this.axGrid1.SelectionChanged += new EventHandler(this.axGrid1_SelectionChanged);

axGrid1.BeginUpdate();
axGrid1.MarkSearchColumn = false;
axGrid1.SelForeColor = axGrid1.ForeColor;
axGrid1.SelBackColor = axGrid1.BackColor;
axGrid1.ShowFocusRect = false;
EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	EXGRIDLib.Column var_Column = (var_Columns.Add("Format") as EXGRIDLib.Column);
		var_Column.FormatColumn = "type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=00" +
"00FF>+'+(value format '2|.|3|,' ): '0.00') )";
		var_Column.set_Def(EXGRIDLib.DefColumnEnum.exCellValueFormat,1);
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem(10);
	var_Items.AddItem(-8);
axGrid1.EndUpdate();

779
How can I get the number of columns being shown in the control's SortBar part

axGrid1.BeginUpdate();
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SingleSort = false;
axGrid1.SortBarVisible = true;
axGrid1.Columns[1].SortOrder = true;
axGrid1.Columns[2].SortOrder = true;
System.Diagnostics.Debug.Print( axGrid1.Columns.SortBarColumnsCount.ToString() );
axGrid1.EndUpdate();

778
How can I add a header and footer for grouping items

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
private void axGrid1_AddGroupItem(object sender, AxEXGRIDLib._IGridEvents_AddGroupItemEvent e)
{
	EXGRIDLib.Items var_Items = axGrid1.Items;
		int h = var_Items.InsertItem(e.item,null,"");
		var_Items.set_SelectableItem(h,false);
		var_Items.set_CellValue(h,6,"min(parent,rec,dbl(%6))");
		var_Items.set_CellValueFormat(h,6,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
		var_Items.set_FormatCell(h,6,"`<font ;7><b>Min</b>: ` + value");
		var_Items.set_ItemPosition(h,0);
		h = var_Items.InsertItem(e.item,null,"");
		var_Items.set_SelectableItem(h,false);
		var_Items.set_CellValue(h,6,"max(parent,rec,dbl(%6))");
		var_Items.set_CellValueFormat(h,6,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
		var_Items.set_FormatCell(h,6,"`<font ;7><b>Max</b>: ` + value");
}
//this.axGrid1.AddGroupItem += new AxEXGRIDLib._IGridEvents_AddGroupItemEventHandler(this.axGrid1_AddGroupItem);

axGrid1.BeginUpdate();
axGrid1.HasLines = EXGRIDLib.HierarchyLineEnum.exNoLine;
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SingleSort = false;
axGrid1.SortBarVisible = true;
axGrid1.AllowGroupBy = true;
axGrid1.Columns[1].SortOrder = true;
axGrid1.EndUpdate();

777
How can I add a footer for grouping items

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
private void axGrid1_AddGroupItem(object sender, AxEXGRIDLib._IGridEvents_AddGroupItemEvent e)
{
	EXGRIDLib.Items var_Items = axGrid1.Items;
		int h = var_Items.InsertItem(e.item,null,"");
		var_Items.set_SelectableItem(h,false);
		var_Items.set_CellValue(h,6,"sum(parent,rec,dbl(%6))");
		var_Items.set_CellValueFormat(h,6,EXGRIDLib.ValueFormatEnum.exTotalField | EXGRIDLib.ValueFormatEnum.exHTML);
		var_Items.set_FormatCell(h,6,"`<font ;7><b>Sum</b>: ` + value");
}
//this.axGrid1.AddGroupItem += new AxEXGRIDLib._IGridEvents_AddGroupItemEventHandler(this.axGrid1_AddGroupItem);

axGrid1.BeginUpdate();
axGrid1.HasLines = EXGRIDLib.HierarchyLineEnum.exNoLine;
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SingleSort = false;
axGrid1.SortBarVisible = true;
axGrid1.AllowGroupBy = true;
axGrid1.Columns[1].SortOrder = true;
axGrid1.EndUpdate();

776
How can I handle the event for the inside controls

// ItemOleEvent event - Fired when an ActiveX control hosted by an item has fired an event.
private void axGrid1_ItemOleEvent(object sender, AxEXGRIDLib._IGridEvents_ItemOleEventEvent e)
{
	System.Diagnostics.Debug.Print( e.ev.ToString() );
}
//this.axGrid1.ItemOleEvent += new AxEXGRIDLib._IGridEvents_ItemOleEventEventHandler(this.axGrid1_ItemOleEvent);

axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
axGrid1.ScrollBySingleLine = true;
axGrid1.Columns.Add("Default");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.InsertControlItem(h,"Exontrol.Grid",null);
	var_Items.set_ItemHeight(h,256);
	EXGRIDLib.Grid var_Grid = (var_Items.get_ItemObject(h) as EXGRIDLib.Grid);
		var_Grid.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
		var_Grid.ScrollBySingleLine = true;
		var_Grid.Columns.Add("C1");
		var_Grid.Columns.Add("C2");
		EXGRIDLib.Items var_Items1 = var_Grid.Items;
			var_Items1.set_CellValue(var_Items1.AddItem(1),1,2);
		h = var_Grid.Items.AddItem(3);
		var_Grid.Items.set_CellValue(h,1,4);
		EXGRIDLib.Items var_Items2 = var_Grid.Items;
			var_Items2.set_ExpandItem(h,true);
			h = var_Items2.InsertControlItem(h,"Exontrol.Grid",null);
			EXGRIDLib.Grid var_Grid1 = (var_Items2.get_ItemObject(h) as EXGRIDLib.Grid);
				var_Grid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
				var_Grid1.Columns.Add("Inside-Inside");
				EXGRIDLib.Items var_Items3 = var_Grid1.Items;
					h = var_Items3.AddItem("item");
					var_Items3.InsertItem(h,null,"child 1");
					var_Items3.InsertItem(h,null,"child 2");
					var_Items3.InsertItem(h,null,"child 3");

775
How can I specify the position of the item manually (Method 2)

axGrid1.Columns.Add("Default");
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem("Child 3");
	var_Items.AddItem("Child 2");
	var_Items.AddItem("Child 1");
	var_Items.set_ItemPosition(var_Items[0],2);
	var_Items.set_ItemPosition(var_Items[1],1);
	var_Items.set_ItemPosition(var_Items[2],0);

774
How can I specify the position of the item manually (Method 1)

axGrid1.Columns.Add("Default");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h3 = var_Items.AddItem("Child 3");
	int h2 = var_Items.AddItem("Child 2");
	int h1 = var_Items.AddItem("Child 1");
	var_Items.set_ItemPosition(h3,2);
	var_Items.set_ItemPosition(h2,1);
	var_Items.set_ItemPosition(h1,0);

773
Is it possible to open second inside grid in inside-grid

axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
axGrid1.ScrollBySingleLine = true;
axGrid1.Columns.Add("Default");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.InsertControlItem(h,"Exontrol.Grid",null);
	var_Items.set_ItemHeight(h,256);
	EXGRIDLib.Grid var_Grid = (var_Items.get_ItemObject(h) as EXGRIDLib.Grid);
		var_Grid.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
		var_Grid.ScrollBySingleLine = true;
		var_Grid.Columns.Add("C1");
		var_Grid.Columns.Add("C2");
		EXGRIDLib.Items var_Items1 = var_Grid.Items;
			var_Items1.set_CellValue(var_Items1.AddItem(1),1,2);
		h = var_Grid.Items.AddItem(3);
		var_Grid.Items.set_CellValue(h,1,4);
		EXGRIDLib.Items var_Items2 = var_Grid.Items;
			var_Items2.set_ExpandItem(h,true);
			h = var_Items2.InsertControlItem(h,"Exontrol.Grid",null);
			EXGRIDLib.Grid var_Grid1 = (var_Items2.get_ItemObject(h) as EXGRIDLib.Grid);
				var_Grid1.Columns.Add("Inside-Inside");
				var_Grid1.Items.AddItem("item");

772
Computed field concatating strings values to calculated values. Is there something we can change this

EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	var_Columns.Add("A");
	var_Columns.Add("B");
	(var_Columns.Add("Sum") as EXGRIDLib.Column).ComputedField = "dbl(%0) + dbl(%1)";
	(var_Columns.Add("Concaternation") as EXGRIDLib.Column).ComputedField = "str(%0) + str(%1)";
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.set_CellValue(var_Items.AddItem(1),1,2);
	var_Items.set_CellValue(var_Items.AddItem(21),1,22);

771
Is it possible the Items.FormatCell or Column.FormatColumn to use values from other columns

EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	(var_Columns.Add("A") as EXGRIDLib.Column).Editor.EditType = EXGRIDLib.EditTypeEnum.SpinType;
	(var_Columns.Add("B") as EXGRIDLib.Column).FormatColumn = "currency(%0)";
	(var_Columns.Add("C") as EXGRIDLib.Column).FormatColumn = "%1 format ''";
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem(1);
	var_Items.AddItem(2);
	var_Items.AddItem(3);

770
Is it possible to do un-grouping the items

// Click event - Occurs when the user presses and then releases the left mouse button over the grid control.
private void axGrid1_ClickEvent(object sender, EventArgs e)
{
	axGrid1.Ungroup();
}
//this.axGrid1.ClickEvent += new EventHandler(this.axGrid1_ClickEvent);

axGrid1.BeginUpdate();
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SortBarHeight = 24;
axGrid1.HeaderHeight = 24;
axGrid1.SortBarVisible = true;
axGrid1.SortBarCaption = "Drag a <b>column</b> header here to group by that column.";
axGrid1.AllowGroupBy = true;
axGrid1.ReadOnly = EXGRIDLib.ReadOnlyEnum.exReadOnly;
EXGRIDLib.Column var_Column = axGrid1.Columns[1];
	var_Column.Alignment = EXGRIDLib.AlignmentEnum.CenterAlignment;
	var_Column.set_Def(EXGRIDLib.DefColumnEnum.exCellBackColor,15790320);
	var_Column.SortOrder = true;
axGrid1.EndUpdate();

769
How can I change the visual aspect of the links in the sort bar

axGrid1.BeginUpdate();
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SortBarHeight = 24;
axGrid1.HeaderHeight = 24;
axGrid1.BackColorSortBar = Color.FromArgb(240,240,240);
axGrid1.BackColorSortBarCaption = axGrid1.BackColor;
axGrid1.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAEGg4BdsIQAAYAQGKIYBkAKBQAGaAoDDgNw0QwAAxjMK0EwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBSFDcOwHGyQYDkCQpA" +
"AWL4tCyMc7QHKAWhrEAbJjgQYJUh+TQAAZCIJRXRQAL/K6rKwnSCQIgkUBpGKdBynEYoYxAfyESCJWyIahWAwoQjUMB1HLQAAxC5kKbkIxyBABFBdVjVeBYG78Bz+ABj" +
"EovbAMEwPBqAMwmIAZDheA4FR4AGhTXKcbxrFaXZSzKckPRoADSZq1Sg5LjDJI2ABqU6ABqNLZtJKsZS4apABrWeZ3Q7QMLdFTwA4PH6EZhxXAYbTVeaPZjQIBAgI");
axGrid1.SortBarVisible = true;
axGrid1.SortBarCaption = "Drag a <b>column</b> header here to group by that column.";
axGrid1.AllowGroupBy = true;
EXGRIDLib.Column var_Column = axGrid1.Columns[1];
	var_Column.Alignment = EXGRIDLib.AlignmentEnum.CenterAlignment;
	var_Column.set_Def(EXGRIDLib.DefColumnEnum.exCellBackColor,15790320);
	var_Column.SortOrder = true;
EXGRIDLib.Column var_Column1 = axGrid1.Columns[5];
	var_Column1.Alignment = EXGRIDLib.AlignmentEnum.CenterAlignment;
	var_Column1.set_Def(EXGRIDLib.DefColumnEnum.exCellBackColor,16119285);
	var_Column1.SortOrder = true;
axGrid1.set_Background(EXGRIDLib.BackgroundPartEnum.exSortBarLinkColor,0x1000000);
axGrid1.EndUpdate();

768
Is it possible to display no +/- button for grouped items

axGrid1.BeginUpdate();
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SortBarVisible = true;
axGrid1.SortBarCaption = "Drag a <b>column</b> header here to group by that column.";
axGrid1.AllowGroupBy = true;
EXGRIDLib.Column var_Column = axGrid1.Columns[1];
	var_Column.Alignment = EXGRIDLib.AlignmentEnum.CenterAlignment;
	var_Column.set_Def(EXGRIDLib.DefColumnEnum.exCellBackColor,15790320);
axGrid1.EndUpdate();

767
How can I remove the extra information that grouped items display

axGrid1.BeginUpdate();
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SortBarVisible = true;
axGrid1.SortBarCaption = "Drag a <b>column</b> header here to group by that column.";
axGrid1.AllowGroupBy = true;
axGrid1.Columns[6].AllowGroupBy = false;
EXGRIDLib.Column var_Column = axGrid1.Columns[1];
	var_Column.GroupByTotalField = "";
	var_Column.GroupByFormatCell = "";
axGrid1.EndUpdate();

766
How can I change the label, caption or the formula of the grouped items

// AddItem event - Occurs after a new Item has been inserted to Items collection.
private void axGrid1_AddItem(object sender, AxEXGRIDLib._IGridEvents_AddItemEvent e)
{
	axGrid1.Items.set_ItemDividerLineAlignment(e.item,EXGRIDLib.DividerAlignmentEnum.DividerBoth);
}
//this.axGrid1.AddItem += new AxEXGRIDLib._IGridEvents_AddItemEventHandler(this.axGrid1_AddItem);

// Change event - Occurs when the user changes the cell's content.
private void axGrid1_Change(object sender, AxEXGRIDLib._IGridEvents_ChangeEvent e)
{
	axGrid1.Refresh();
}
//this.axGrid1.Change += new AxEXGRIDLib._IGridEvents_ChangeEventHandler(this.axGrid1_Change);

axGrid1.BeginUpdate();
axGrid1.ScrollBySingleLine = true;
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SortBarVisible = true;
axGrid1.SortBarCaption = "Drag a <b>column</b> header here to group by that column.";
axGrid1.AllowGroupBy = true;
axGrid1.Columns[6].AllowGroupBy = false;
EXGRIDLib.Column var_Column = axGrid1.Columns[1];
	var_Column.GroupByTotalField = "sum(current,rec,%6)";
	var_Column.GroupByFormatCell = "'<font ;11>' + <caption> + '</font> <fgcolor=808080>( Freight: ' + currency(value) + ')'";
axGrid1.DefaultItemHeight = 28;
axGrid1.EndUpdate();

765
How can I change the aspect of grouped items

// AddItem event - Occurs after a new Item has been inserted to Items collection.
private void axGrid1_AddItem(object sender, AxEXGRIDLib._IGridEvents_AddItemEvent e)
{
	EXGRIDLib.Items var_Items = axGrid1.Items;
		var_Items.set_ItemDividerLine(e.item,EXGRIDLib.DividerLineEnum.EmptyLine);
		int l = var_Items.get_GroupItem(e.item);
		var_Items.set_CellSingleLine(e.item,l,EXGRIDLib.CellSingleLineEnum.exCaptionWordWrap);
		var_Items.set_CellBold(e.item,l,true);
		var_Items.set_CellBackColor(e.item,l,0x1000000);
}
//this.axGrid1.AddItem += new AxEXGRIDLib._IGridEvents_AddItemEventHandler(this.axGrid1_AddItem);

axGrid1.BeginUpdate();
axGrid1.ScrollBySingleLine = true;
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exNoLinesAtRoot;
axGrid1.TreeColumnIndex = -1;
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.VisualAppearance.Add(1,"gBFLBCJwBAEHhEJAEGg4BKoCg6AADACAxRDAMgBQKAAzQFAYcBuGiGAAGMZhWgmFgAQhFcZQSKUOQTDKMIziaQIRDEMw5SSNIxyAK0QBkAqNQCkKKwIgmNYDSBMYABB" +
"IMBwiGQaRJnegYRDUMJCQjRVITVLMNoXDKZIyqEAHfpWVJWSLHcIhDBJUjcOYyTiOQrzCK8dB0G6bIrGEZpYRAPwEYDIIjbQhqFYDChCNLwHScEAxC4kLhnKK6Vb9d6H" +
"YhiOJYXhmDrfR7IMhyLI8QafFqXZhmOZZXizPY9T7QNB0LQ8eZbJqnahqOpaOx2W5dV7YNh2LTWGzXNq3bhuOzLbrme59X7gOB3RZeE4XRrHchxKq8XxnG6dZ7oOTUXo" +
"fFOK5WmudQTh2LpfHOO5em+doSh4LwfhOS5mnGIw9D6LxfjOW5unSIQ+D8L4flOa5yD2fg/D+L5fnOe54ByigGAKAJgEgBBrgGYIICYCoCmCSAcGOA5hAgRgSgSYQBGo" +
"FoFmGCBmBqBphGESgegeYgIgYIoHkSKIWCaCZigiJgqgqYhog4LoLmGSJGDKBZhEiVg2gMY4ImYCIBGOSJ1n6D5kAeZZ2hCZBHj4RoRl6J4eEqEpeAkNhOHaXYJEYUh0" +
"GUSRVkwchlgkZZChaZZGnWOoXmYBpOGKGJamaLhmhmWhJiYahnlmSY2G4ZZZEmRhyGMZxJlWCBhFCFgWHaHpYkmSh+GSJp6AWG4amgRoOGeIZahmEoKGyJgKDWOIXGkB" +
"wGFmJJcHkWoWHQJQqGWVoTmmRx+EuJ5eFkIoiHuJBKhWdIQGqB52D2KpgDiaougMIxqyODJrEgbgvi2YgYjKOoumKSpij4FIrFsBg0iyLBKj6RoOmqSwmimMpkCqGpOi" +
"ibQJCaII0mmWxWFCJotgoXpahWaRLHaEY3mWag6mKIpuEmFoIjmaBbiYbIgi6RhaH+O5Onmcpyh2VYAAEASAg");
axGrid1.DrawGridLines = EXGRIDLib.GridLinesEnum.exHLines;
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SortBarVisible = true;
axGrid1.SortBarCaption = "Drag a <b>column</b> header here to group by that column.";
axGrid1.AllowGroupBy = true;
EXGRIDLib.Column var_Column = axGrid1.Columns[1];
	var_Column.GroupByFormatCell = "'EmployeeID: ' + <caption> + '<br><font ;7><fgcolor=808080>Count: ' + value";
axGrid1.EndUpdate();

764
How can I remove or change the line it shows for grouped items

// AddItem event - Occurs after a new Item has been inserted to Items collection.
private void axGrid1_AddItem(object sender, AxEXGRIDLib._IGridEvents_AddItemEvent e)
{
	axGrid1.Items.set_ItemDividerLine(e.item,EXGRIDLib.DividerLineEnum.EmptyLine);
}
//this.axGrid1.AddItem += new AxEXGRIDLib._IGridEvents_AddItemEventHandler(this.axGrid1_AddItem);

axGrid1.BeginUpdate();
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SortBarVisible = true;
axGrid1.SortBarCaption = "Drag a <b>column</b> header here to group by that column.";
axGrid1.AllowGroupBy = true;
axGrid1.EndUpdate();

763
Is it possible to determine whether an item is regular or a group by item
// MouseMove event - Occurs when the user moves the mouse.
private void axGrid1_MouseMoveEvent(object sender, AxEXGRIDLib._IGridEvents_MouseMoveEvent e)
{
	int h = axGrid1.get_ItemFromPoint(-1,-1,c,hit);
	System.Diagnostics.Debug.Print( axGrid1.Items.get_GroupItem(h).ToString() );
}
//this.axGrid1.MouseMoveEvent += new AxEXGRIDLib._IGridEvents_MouseMoveEventHandler(this.axGrid1_MouseMoveEvent);

axGrid1.BeginUpdate();
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SortBarVisible = true;
axGrid1.SortBarCaption = "Drag a <b>column</b> header here to group by that column.";
axGrid1.AllowGroupBy = true;
axGrid1.EndUpdate();

762
How can I collapse all items when the user performs a grouping

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
private void axGrid1_AddGroupItem(object sender, AxEXGRIDLib._IGridEvents_AddGroupItemEvent e)
{
	axGrid1.Items.set_ExpandItem(e.item,false);
}
//this.axGrid1.AddGroupItem += new AxEXGRIDLib._IGridEvents_AddGroupItemEventHandler(this.axGrid1_AddGroupItem);

axGrid1.BeginUpdate();
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SortBarVisible = true;
axGrid1.SortBarCaption = "Drag a <b>column</b> header here to group by that column.";
axGrid1.AllowGroupBy = true;
axGrid1.EndUpdate();

761
Is it possible to select columns that user can drop to the sort bar, when using the Group By feature

axGrid1.BeginUpdate();
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SortBarVisible = true;
axGrid1.SortBarCaption = "<fgcolor=FF0000>Try to drag the EmployeeID column here.";
axGrid1.AllowGroupBy = true;
axGrid1.Columns[1].AllowGroupBy = false;
axGrid1.EndUpdate();

760
How can I enable the Group By support, with no sort bar

axGrid1.BeginUpdate();
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SingleSort = false;
axGrid1.AllowGroupBy = true;
axGrid1.Columns[1].SortOrder = true;
axGrid1.EndUpdate();

759
Does your control support Group-By feature

axGrid1.BeginUpdate();
axGrid1.ColumnAutoResize = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.SortBarVisible = true;
axGrid1.SortBarCaption = "Drag a <b>column</b> header here to group by that column.";
axGrid1.AllowGroupBy = true;
axGrid1.EndUpdate();

758
How can I restrict a field to number only (Method 3, Float)

EXGRIDLib.Editor var_Editor = (axGrid1.Columns.Add("Numbers") as EXGRIDLib.Column).Editor;
	var_Editor.EditType = EXGRIDLib.EditTypeEnum.EditType;
	var_Editor.Numeric = EXGRIDLib.NumericEnum.exFloat;
axGrid1.Items.AddItem(12);

757
How can I restrict a field to number only (Method 2, Integer only)

EXGRIDLib.Editor var_Editor = (axGrid1.Columns.Add("Numbers") as EXGRIDLib.Column).Editor;
	var_Editor.EditType = EXGRIDLib.EditTypeEnum.EditType;
	var_Editor.Numeric = EXGRIDLib.NumericEnum.exInteger;
axGrid1.Items.AddItem(12);

756
How can I restrict a field to number only (Method 1)

EXGRIDLib.Editor var_Editor = (axGrid1.Columns.Add("Numbers") as EXGRIDLib.Column).Editor;
	var_Editor.EditType = EXGRIDLib.EditTypeEnum.MaskType;
	var_Editor.Mask = "###.###";
axGrid1.Items.AddItem(12);

755
Is it possible to include only leaf items ( items with no childs ) in the drop down list

axGrid1.BeginUpdate();
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Items") as EXGRIDLib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.FilterList = EXGRIDLib.FilterListEnum.exShowFocusItem | EXGRIDLib.FilterListEnum.exShowCheckBox | EXGRIDLib.FilterListEnum.exSortItemsAsc | EXGRIDLib.FilterListEnum.exLeafItems;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.InsertItem(h,null,"Child 3");
	var_Items.set_ExpandItem(h,true);
axGrid1.EndUpdate();

754
I have several columns, but noticed that the filter is using AND between columns, but I need OR clause for filtering. Is it possible

axGrid1.BeginUpdate();
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Item") as EXGRIDLib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.Filter = "Child 1";
	var_Column.FilterType = EXGRIDLib.FilterTypeEnum.exFilter;
EXGRIDLib.Column var_Column1 = (axGrid1.Columns.Add("Date") as EXGRIDLib.Column);
	var_Column1.DisplayFilterButton = true;
	var_Column1.DisplayFilterPattern = false;
	var_Column1.DisplayFilterDate = true;
	var_Column1.FilterList = EXGRIDLib.FilterListEnum.exShowExclude | EXGRIDLib.FilterListEnum.exShowFocusItem | EXGRIDLib.FilterListEnum.exShowCheckBox | EXGRIDLib.FilterListEnum.exNoItems;
	var_Column1.Filter = Convert.ToDateTime("12/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")).ToString();
	var_Column1.FilterType = EXGRIDLib.FilterTypeEnum.exDate;
axGrid1.FilterCriteria = "%0 or %1";
axGrid1.set_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarOr,"<font ;18><fgcolor=FF0000>or</fgcolor></font>");
axGrid1.set_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarAnd,"<font ;18><fgcolor=FF0000>and</fgcolor></font>");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Child 1"),1,Convert.ToDateTime("12/27/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Child 2"),1,Convert.ToDateTime("12/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Child 1"),1,Convert.ToDateTime("12/29/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.set_CellValue(var_Items.InsertItem(h,null,"Child 2"),1,Convert.ToDateTime("12/30/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
axGrid1.ApplyFilter();
axGrid1.EndUpdate();

753
Is it possible exclude the dates being selected in the drop down filter window

axGrid1.BeginUpdate();
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Date") as EXGRIDLib.Column);
	var_Column.SortType = EXGRIDLib.SortTypeEnum.SortDate;
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.DisplayFilterDate = true;
	var_Column.FilterList = EXGRIDLib.FilterListEnum.exShowExclude | EXGRIDLib.FilterListEnum.exShowFocusItem | EXGRIDLib.FilterListEnum.exShowCheckBox | EXGRIDLib.FilterListEnum.exNoItems;
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem(Convert.ToDateTime("12/27/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/29/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/30/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/31/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
axGrid1.EndUpdate();

752
How can I display a calendar control inside the drop down filter window

axGrid1.BeginUpdate();
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Date") as EXGRIDLib.Column);
	var_Column.SortType = EXGRIDLib.SortTypeEnum.SortDate;
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.DisplayFilterDate = true;
	var_Column.FilterList = EXGRIDLib.FilterListEnum.exShowFocusItem | EXGRIDLib.FilterListEnum.exShowCheckBox | EXGRIDLib.FilterListEnum.exNoItems;
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem(Convert.ToDateTime("12/27/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/29/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/30/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/31/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
axGrid1.EndUpdate();

751
Is it possible to include the dates as checkb-boxes in the drop down filter window

axGrid1.BeginUpdate();
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Dates") as EXGRIDLib.Column);
	var_Column.SortType = EXGRIDLib.SortTypeEnum.SortDate;
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = true;
	var_Column.DisplayFilterDate = true;
	var_Column.FilterList = EXGRIDLib.FilterListEnum.exShowFocusItem | EXGRIDLib.FilterListEnum.exShowCheckBox;
	var_Column.Filter = "to 12/27/2010";
	var_Column.FilterType = EXGRIDLib.FilterTypeEnum.exDate;
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem(Convert.ToDateTime("12/27/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/29/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/30/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/31/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
axGrid1.ApplyFilter();
axGrid1.EndUpdate();

750
How can I filter items for dates before a specified date

axGrid1.BeginUpdate();
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Dates") as EXGRIDLib.Column);
	var_Column.SortType = EXGRIDLib.SortTypeEnum.SortDate;
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = true;
	var_Column.DisplayFilterDate = true;
	var_Column.FilterList = EXGRIDLib.FilterListEnum.exShowFocusItem | EXGRIDLib.FilterListEnum.exNoItems;
	var_Column.Filter = "to 12/27/2010";
	var_Column.FilterType = EXGRIDLib.FilterTypeEnum.exDate;
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem(Convert.ToDateTime("12/27/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/29/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/30/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/31/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
axGrid1.ApplyFilter();
axGrid1.EndUpdate();

749
Is it possible to filter dates

axGrid1.BeginUpdate();
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Dates") as EXGRIDLib.Column);
	var_Column.SortType = EXGRIDLib.SortTypeEnum.SortDate;
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = true;
	var_Column.DisplayFilterDate = true;
	var_Column.FilterList = EXGRIDLib.FilterListEnum.exShowFocusItem | EXGRIDLib.FilterListEnum.exNoItems;
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem(Convert.ToDateTime("12/27/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/28/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/29/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/30/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
	var_Items.AddItem(Convert.ToDateTime("12/31/2010",System.Globalization.CultureInfo.GetCultureInfo("en-US")));
axGrid1.EndUpdate();

748
Is it possible to change the Exclude field name to something different, in the drop down filter window

axGrid1.BeginUpdate();
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
axGrid1.set_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarExclude,"Leaving out");
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Items") as EXGRIDLib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.FilterList = EXGRIDLib.FilterListEnum.exShowExclude | EXGRIDLib.FilterListEnum.exShowFocusItem | EXGRIDLib.FilterListEnum.exShowCheckBox;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
axGrid1.EndUpdate();

747
How can I display the Exclude field in the drop down filter window

axGrid1.BeginUpdate();
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Items") as EXGRIDLib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.FilterList = EXGRIDLib.FilterListEnum.exShowExclude | EXGRIDLib.FilterListEnum.exShowFocusItem | EXGRIDLib.FilterListEnum.exShowCheckBox;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
axGrid1.EndUpdate();

746
Is it possible to show and ensure the focused item from the control, in the drop down filter window

axGrid1.BeginUpdate();
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Items") as EXGRIDLib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.FilterList = EXGRIDLib.FilterListEnum.exShowFocusItem | EXGRIDLib.FilterListEnum.exShowCheckBox;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.set_SelectItem(var_Items.InsertItem(h,null,"Child 2"),true);
	var_Items.set_ExpandItem(h,true);
axGrid1.EndUpdate();

745
Is it possible to show only blanks items with no listed items from the control

axGrid1.BeginUpdate();
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Items") as EXGRIDLib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.FilterList = EXGRIDLib.FilterListEnum.exShowBlanks | EXGRIDLib.FilterListEnum.exNoItems;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
axGrid1.EndUpdate();

744
How can I include the blanks items in the drop down filter window

axGrid1.BeginUpdate();
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Items") as EXGRIDLib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.FilterList = EXGRIDLib.FilterListEnum.exShowBlanks | EXGRIDLib.FilterListEnum.exShowCheckBox;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
axGrid1.EndUpdate();

743
How can I select multiple items in the drop down filter window, using check-boxes

axGrid1.BeginUpdate();
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Items") as EXGRIDLib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.FilterList = EXGRIDLib.FilterListEnum.exShowCheckBox;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
axGrid1.EndUpdate();

742
Is it possible to allow a single item being selected in the drop down filter window

axGrid1.BeginUpdate();
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Items") as EXGRIDLib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.FilterList = EXGRIDLib.FilterListEnum.exSingleSel;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
axGrid1.EndUpdate();

741
How can I display no (All) item in the drop down filter window

axGrid1.BeginUpdate();
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
axGrid1.set_Description(EXGRIDLib.DescriptionTypeEnum.exFilterBarAll,"");
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Items") as EXGRIDLib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = true;
	var_Column.FilterList = EXGRIDLib.FilterListEnum.exNoItems;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
axGrid1.EndUpdate();

740
Is it possible to display no items in the drop down filter window, so only the pattern is visible

axGrid1.BeginUpdate();
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Items") as EXGRIDLib.Column);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = true;
	var_Column.FilterList = EXGRIDLib.FilterListEnum.exNoItems;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
axGrid1.EndUpdate();

739
How can I show the child items with no identation

axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
axGrid1.Indent = 12;
axGrid1.HasLines = EXGRIDLib.HierarchyLineEnum.exThinLine;
axGrid1.Columns.Add("Default");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.InsertItem(h,null,"Child 3");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.InsertItem(h,null,"Child 3");

738
Is there other ways of showing the hierarchy lines (exGroupLinesAtRoot)

axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exGroupLinesAtRoot;
axGrid1.Indent = 12;
axGrid1.Columns.Add("Default");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.InsertItem(h,null,"Child 3");
	var_Items.set_ExpandItem(h,true);

737
Is there other ways of showing the hierarchy lines (exGroupLinesOutside)

axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exGroupLinesOutside;
axGrid1.Indent = 12;
axGrid1.Columns.Add("Default");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.InsertItem(h,null,"Child 3");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.InsertItem(h,null,"Child 3");

736
Is there other ways of showing the hierarchy lines (exGroupLinesInsideLeaf)

axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exGroupLinesInsideLeaf;
axGrid1.Indent = 12;
axGrid1.Columns.Add("Default");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.InsertItem(h,null,"Child 3");
	var_Items.set_ExpandItem(h,true);

735
Is there other ways of showing the hierarchy lines (exGroupLinesInside)

axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exGroupLinesInside;
axGrid1.Indent = 12;
axGrid1.Columns.Add("Default");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.InsertItem(h,null,"Child 3");
	var_Items.set_ExpandItem(h,true);

734
Is there other ways of showing the hierarchy lines (exGroupLines)

axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exGroupLines;
axGrid1.Indent = 12;
axGrid1.Columns.Add("Default");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(var_Items.InsertItem(h,null,"Child 2"),null,"SubChild 2");
	var_Items.InsertItem(h,null,"Child 3");
	var_Items.set_ExpandItem(h,true);

733
Is it possible to display a column with buttons when using exCRD format

axGrid1.BeginUpdate();
axGrid1.DrawGridLines = EXGRIDLib.GridLinesEnum.exRowLines;
axGrid1.DefaultItemHeight = 36;
axGrid1.FullRowSelect = EXGRIDLib.CellSelectEnum.exColumnSel;
EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	EXGRIDLib.Column var_Column = (var_Columns.Add("Column1") as EXGRIDLib.Column);
		var_Column.Visible = false;
		var_Column.Editor.EditType = EXGRIDLib.EditTypeEnum.EditType;
	EXGRIDLib.Column var_Column1 = (var_Columns.Add("Column2") as EXGRIDLib.Column);
		var_Column1.Visible = false;
		var_Column1.Editor.EditType = EXGRIDLib.EditTypeEnum.EditType;
	EXGRIDLib.Column var_Column2 = (var_Columns.Add("Column3") as EXGRIDLib.Column);
		var_Column2.Alignment = EXGRIDLib.AlignmentEnum.CenterAlignment;
		var_Column2.HeaderAlignment = EXGRIDLib.AlignmentEnum.CenterAlignment;
		var_Column2.Visible = false;
		var_Column2.set_Def(EXGRIDLib.DefColumnEnum.exCellHasButton,true);
		var_Column2.set_Def(EXGRIDLib.DefColumnEnum.exCellButtonAutoWidth,true);
	EXGRIDLib.Column var_Column3 = (var_Columns.Add("FormatLevel") as EXGRIDLib.Column);
		var_Column3.FormatLevel = "(0/1),2:64";
		var_Column3.set_Def(EXGRIDLib.DefColumnEnum.exCellFormatLevel,var_Column3.FormatLevel);
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Cell 1.1");
	var_Items.set_CellValue(h,1,"Cell 1.2");
	var_Items.set_CellValue(h,2,"Cell 1.3");
	h = var_Items.AddItem("Cell 2.1");
	var_Items.set_CellValue(h,1,"Cell 2.2");
	var_Items.set_CellValue(h,2,"Cell 2.3");
axGrid1.EndUpdate();

732
How can I change the check-boxes appearance

axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Default") as EXGRIDLib.Column);
	var_Column.set_Def(EXGRIDLib.DefColumnEnum.exCellHasCheckBox,true);
	var_Column.PartialCheck = true;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(h,true);
EXGRIDLib.Appearance var_Appearance = axGrid1.VisualAppearance;
	var_Appearance.Add(1,"XP:Button 3 12");
	var_Appearance.Add(2,"XP:Button 3 11");
	var_Appearance.Add(3,"XP:Button 3 10");
axGrid1.set_CheckImage(EXGRIDLib.CheckStateEnum.Unchecked,16777216);
axGrid1.set_CheckImage(EXGRIDLib.CheckStateEnum.Checked,33554432);
axGrid1.set_CheckImage(EXGRIDLib.CheckStateEnum.PartialChecked,50331648);

731
Is it possible to disable the cell's editor context menu
EXGRIDLib.Editor var_Editor = (axGrid1.Columns.Add("Edit") as EXGRIDLib.Column).Editor;
	var_Editor.EditType = EXGRIDLib.EditTypeEnum.EditType;
	var_Editor.set_Option(EXGRIDLib.EditorOptionEnum.exEditAllowContextMenu,false);
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem(10);
	var_Items.AddItem(20);

730
How can I find a value in a drop down editor

EXGRIDLib.Editor var_Editor = (axGrid1.Columns.Add("DropDownList") as EXGRIDLib.Column).Editor;
	var_Editor.EditType = EXGRIDLib.EditTypeEnum.DropDownListType;
	var_Editor.AddItem(1,"DDList 1",null);
	var_Editor.AddItem(2,"DDList 2",null);
	var_Editor.AddItem(3,"DDList 3",null);
EXGRIDLib.Editor var_Editor1 = (axGrid1.Columns.Add("DropDown") as EXGRIDLib.Column).Editor;
	var_Editor1.EditType = EXGRIDLib.EditTypeEnum.DropDownType;
	var_Editor1.AddItem(1,"DDType 1",null);
	var_Editor1.AddItem(2,"DDType 2",null);
	var_Editor1.AddItem(3,"DDType 3",null);
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.set_CellValue(.AddItem(1),1,axGrid1.Columns[1].Editor.get_FindItem(1));
	var_Items.set_CellValue(.AddItem(2),1,axGrid1.Columns[1].Editor.get_FindItem(2));

729
What is the difference between DropDownType and DropDownListType

EXGRIDLib.Editor var_Editor = (axGrid1.Columns.Add("DropDownList") as EXGRIDLib.Column).Editor;
	var_Editor.EditType = EXGRIDLib.EditTypeEnum.DropDownListType;
	var_Editor.AddItem(1,"First item",null);
	var_Editor.AddItem(2,"Second item",null);
	var_Editor.AddItem(3,"Third item",null);
EXGRIDLib.Editor var_Editor1 = (axGrid1.Columns.Add("DropDown") as EXGRIDLib.Column).Editor;
	var_Editor1.EditType = EXGRIDLib.EditTypeEnum.DropDownType;
	var_Editor1.AddItem(1,"First item",null);
	var_Editor1.AddItem(2,"Second item",null);
	var_Editor1.AddItem(3,"Third item",null);
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.set_CellValue(var_Items.AddItem(1),1,"Any");
	var_Items.set_CellValue(var_Items.AddItem(2),1,"Any");

728
How can I add or change the padding (spaces) for captions in the control's header

axGrid1.BeginUpdate();
(axGrid1.Columns.Add("Padding-Left") as EXGRIDLib.Column).set_Def(EXGRIDLib.DefColumnEnum.exHeaderPaddingLeft,18);
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Padding-Right") as EXGRIDLib.Column);
	var_Column.set_Def(EXGRIDLib.DefColumnEnum.exHeaderPaddingRight,18);
	var_Column.HeaderAlignment = EXGRIDLib.AlignmentEnum.RightAlignment;
axGrid1.EndUpdate();

727
Do you have any plans to add cell spacing and cell padding to the cells

axGrid1.BeginUpdate();
axGrid1.DrawGridLines = EXGRIDLib.GridLinesEnum.exRowLines;
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Padding-Left") as EXGRIDLib.Column);
	var_Column.set_Def(EXGRIDLib.DefColumnEnum.exCellHasCheckBox,true);
	var_Column.set_Def(EXGRIDLib.DefColumnEnum.exCellPaddingLeft,18);
(axGrid1.Columns.Add("No-Padding") as EXGRIDLib.Column).set_Def(EXGRIDLib.DefColumnEnum.exCellHasCheckBox,true);
(axGrid1.Columns.Add("Empty") as EXGRIDLib.Column).Position = 0;
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.set_CellValue(var_Items.AddItem("Item A.1"),1,"Item A.2");
	var_Items.set_CellValue(var_Items.AddItem("Item B.1"),1,"Item B.2");
	var_Items.set_CellValue(var_Items.AddItem("Item C.1"),1,"Item C.2");
axGrid1.EndUpdate();

726
Is it possible to change the height for all items at once

axGrid1.BeginUpdate();
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
axGrid1.Columns.Add("Items");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Root 1");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	h = var_Items.AddItem("Root 2");
	var_Items.InsertItem(h,null,"Child 1");
	var_Items.InsertItem(h,null,"Child 2");
	var_Items.set_ExpandItem(0,true);
axGrid1.EndUpdate();
axGrid1.DefaultItemHeight = 12;
axGrid1.Items.set_ItemHeight(0,12);

725
Can I display somehow the filter just on the top of the list, with an editor associated to each column

// Change event - Occurs when the user changes the cell's content.
private void axGrid1_Change(object sender, AxEXGRIDLib._IGridEvents_ChangeEvent e)
{
	System.Diagnostics.Debug.Print( "Locked:" );
	System.Diagnostics.Debug.Print( axGrid1.Items.get_IsItemLocked(e.item).ToString() );
	EXGRIDLib.Column var_Column = axGrid1.Columns[e.colIndex];
		var_Column.Filter = e.newValue.ToString();
		var_Column.FilterType = EXGRIDLib.FilterTypeEnum.exPattern;
	axGrid1.ApplyFilter();
}
//this.axGrid1.Change += new AxEXGRIDLib._IGridEvents_ChangeEventHandler(this.axGrid1_Change);

// MouseUp event - Occurs when the user releases a mouse button.
private void axGrid1_MouseUpEvent(object sender, AxEXGRIDLib._IGridEvents_MouseUpEvent e)
{
	axGrid1.Edit(axGrid1.Items.get_LockedItem(EXGRIDLib.VAlignmentEnum.exTop,0));
}
//this.axGrid1.MouseUpEvent += new AxEXGRIDLib._IGridEvents_MouseUpEventHandler(this.axGrid1_MouseUpEvent);

axGrid1.ColumnAutoResize = false;
axGrid1.ScrollBySingleLine = true;
axGrid1.ContinueColumnScroll = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.set_LockedItemCount(EXGRIDLib.VAlignmentEnum.exTop,2);
	int h = var_Items.get_LockedItem(EXGRIDLib.VAlignmentEnum.exTop,0);
	var_Items.get_CellEditor(h,0).EditType = EXGRIDLib.EditTypeEnum.EditType;
	h = var_Items.get_LockedItem(EXGRIDLib.VAlignmentEnum.exTop,1);
	var_Items.set_ItemHeight(h,4);
	var_Items.set_ItemDivider(h,0);
	var_Items.set_SelectableItem(h,false);

724
Is it possible to display information about the firing events
// Event event - Notifies the application once the control fires an event.
private void axGrid1_Event(object sender, AxEXGRIDLib._IGridEvents_EventEvent e)
{
	System.Diagnostics.Debug.Print( axGrid1.get_EventParam(-2).ToString() );
}
//this.axGrid1.Event += new AxEXGRIDLib._IGridEvents_EventEventHandler(this.axGrid1_Event);


723
How can I change the layout of my columns when using the exCRD

axGrid1.BeginUpdate();
axGrid1.DrawGridLines = EXGRIDLib.GridLinesEnum.exRowLines;
axGrid1.DefaultItemHeight = 36;
EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	EXGRIDLib.Column var_Column = (var_Columns.Add("Column1") as EXGRIDLib.Column);
		var_Column.Visible = false;
		var_Column.Editor.EditType = EXGRIDLib.EditTypeEnum.EditType;
	EXGRIDLib.Column var_Column1 = (var_Columns.Add("Column2") as EXGRIDLib.Column);
		var_Column1.Visible = false;
		var_Column1.Editor.EditType = EXGRIDLib.EditTypeEnum.EditType;
	(var_Columns.Add("Column3") as EXGRIDLib.Column).Visible = false;
	EXGRIDLib.Column var_Column2 = (var_Columns.Add("FormatLevel") as EXGRIDLib.Column);
		var_Column2.FormatLevel = "(0/1),2";
		var_Column2.set_Def(EXGRIDLib.DefColumnEnum.exCellFormatLevel,var_Column2.FormatLevel);
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Cell 1.1");
	var_Items.set_CellValue(h,1,"Cell 1.2");
	var_Items.set_CellValue(h,2,"Cell 1.3");
	h = var_Items.AddItem("Cell 2.1");
	var_Items.set_CellValue(h,1,"Cell 2.2");
	var_Items.set_CellValue(h,2,"Cell 2.3");
axGrid1.EndUpdate();

722
Is it possible to scroll the control's content by clicking and moving the mouse up or down

axGrid1.BeginUpdate();
axGrid1.ColumnAutoResize = false;
axGrid1.ContinueColumnScroll = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.AutoDrag = EXGRIDLib.AutoDragEnum.exAutoDragScroll;
axGrid1.EndUpdate();

721
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a snapshot
axGrid1.BeginUpdate();
axGrid1.VisualAppearance.Add(1,"c:\\exontrol\\images\\normal.ebn");
axGrid1.set_HTMLPicture("p1","c:\\exontrol\\images\\card.png");
axGrid1.set_HTMLPicture("p2","c:\\exontrol\\images\\sun.png");
axGrid1.AutoDrag = EXGRIDLib.AutoDragEnum.exAutoDragCopySnapShot;
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exNoLinesAtRoot;
axGrid1.HasLines = EXGRIDLib.HierarchyLineEnum.exThinLine;
axGrid1.ShowFocusRect = false;
axGrid1.DefaultItemHeight = 26;
axGrid1.Columns.Add("Task");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("<img>p1:32</img>Group 1");
	var_Items.set_CellValueFormat(h,0,EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items.set_ItemDivider(h,0);
	var_Items.set_ItemBold(h,true);
	int h1 = var_Items.InsertItem(h,null,"Task 1");
	int h2 = var_Items.InsertItem(h,null,"Task 2");
	int h3 = var_Items.InsertItem(h,null,"Task 3");
	h = var_Items.AddItem("<img>p2:32</img>Group 2");
	var_Items.set_CellValueFormat(h,0,EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items.set_ItemBold(h,true);
	var_Items.set_ItemDivider(h,0);
	h1 = var_Items.InsertItem(h,null,"Task");
	var_Items.set_ExpandItem(0,true);
axGrid1.EndUpdate();

720
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a image

axGrid1.BeginUpdate();
axGrid1.set_HTMLPicture("p1","gCJKBOI4NBQaBQAhQNJJIIhShQAIERFQIA0RAYGLriiIEM5BJpBiIARYlMBNhQPLhJIhBKhoQLlTTLV4la5VYx/fZVOoee7de62drYdI4YIWcIteIQEbEEAzCghEwIR" +
"IZKSmJD8EIZMzARgZKYmEAmDISYgEAISIJKdg4JzSOK7bp9b73HiqezeNYxLD7Th7N67dpmQSQIZJUpzVRqT46PY9Xy1yL2Qz/c6HXbzHoAKYgWrzC7tZDtLgBOpzOaj" +
"QApWDXZwOdABb6eHa+fCHMTCB7AMo7S6AIxMcADcAIfHEe6AQ7/G7zfhfHqeAb/AJ8B6TfITMAVGLrd4Db78aY/fydH77axfPjjS5fP7tcLMY6EOYed4dbyHcwHCoHfA" +
"ICCApOHEDgcA+OAnACAJgBya5jAoLh5hCc4OGcQ47GeQIBneNoGHaTI5kAKxOHuHAzjGXp5mwAZgnyNB/nCPh9g+ABinGYA1kmGYAAqThjgGQRwHiThPC8Vhfnma5/ng" +
"XZvn8ew7keQBfmOUAYCIBj7ngbY/nqS4/nkDYzieXwLn+dp+j+EpiE8CAAEKNwZFOTZ3FCOpgHyRQHkCcAJmUDRzgEHwhAYHoRAGHxADuCAxAeDxOAcHA3jmRw4guaoa" +
"mcbZMAwM4EDWTkNgGqQqHYPJEDmKhrDwB4QmcKAsgkcQGGQHBLiYfBGjcCESFATIID0KgDjgBJ3hGVQVk4JZqHcbpklef58g+fwFScd09j+AwnECWY0FeEIBFmdIyAsZ" +
"4fHyEIRB6Ch4F8UZLDWdQ5CAAheEOTAxGmWgDhqYIaEGO4AgiAYNm8RhwACKo4HaCgviCHptB4Uo9ACAQlFsG5rEINAFh4WpxAQRAqE4QAlGARJGjmLw2EYfAdk8DIom" +
"YGJKjISY5AiChKGYIg/EMUg7iEGZ7B8GABn4Do0jYWRVASMgiGoLwTHMdJKEkaI9CaZwej6H85mcCAGlwBQfFoH4bFyJgEAOdRBBCEoSC4ZpUAOOpwBURBbieeYzEeKw" +
"IAOJQAFSVABp6U5Kg+PhvkGex8HAOJnE2ZgPF4WY1kQHALiic54lcYYQiAQ55g6VQbHMdZfjyF4PCYTTLkaAQGCadRIE0VImlQLQgm0EhalsNYMkgHRMDKHpiGoEYmlA" +
"RpZDQYQMiECYzHwQhEHCKZOmOVZ+mMJYgFqIRgBYVoLCmXgHlAaoeCUYJKgcU4IneHoQiIQR5kIDBEBiGhMDoHgL4CQ/BiBeEIOILgRBaBwL8fweAZiZGaNEWoYBwjuB" +
"SAAOoiASBECMJwG44Qih6EEDMcIRBmCyBcPQRgwwBCRECJgPQ+h0gRBCDQZYNwXjwB8FAVYvQsC8BSKYWy+BvABC8DwSobAghSAEOoFgjGKAVEeJCA4oBxDZB2PwWQCW" +
"qgQAkCEAgfA4D2HSB0PwEwsBdCICkBoKgIjVAEFcD4gw8D0CsAEXwnQtgFBoAUPIahmiICANQRwWgjCDGKAsbwEBaCjEozkWQDhECcCiMsIAjBIiQBMAYA4DRUCMBsCk" +
"YA+xaCFESG8P4LwBCqGqIQOgiRtASESIYOA+xmAnCoIUYo1QJhiE4BIAT+REghVkG0SwcgnCbAEJoI44QoCnFQFQCgjx0BdCSG8XIzQegFc0KgbIJgWgkDUBkOIrgEic" +
"COKAM4HBwDnA+JkIQXg9jYBmJ1SI3w4hxDsIYNQzxnDeEUPkZwIQfAaFcE0LQmwsAtEsEYAo8BXCjCsEAAYLggDQEIOQYIsBWgeFSBkEo4A+iPBQIQGAIQ8AIBCBEPow" +
"BDjQCkKQAAHhoiMBGFEWoggFDqEkBkIA7RcjKDwNcAYthjh9AeBAIoKhCDUDaD0YIewUAlFiFoRqrBlhVGOHoAoXw9ADH0H4cA2RZieFmAsZAQwnitHgPoS4RhfDyEqH" +
"MaQcAhiaHoAQa4gwDCzCEB4GISgIgACeM0DIHwQi0AZAkOIGgoCfFQncQ4ZhcgqHYB8HwagsCPGaOoZwAhQATHGAwKgcAAiVGMjsSIihRBcFeK4CILQ7hjGAMsCoUBSg" +
"iEANMYg1RiiCAoKAd45wuCeDMK4VwYAbA3AQDgIwchDCUD2EIdAqA8gkCuAsSgXQZCcFeFcM4jAxhPHYOYZgdxHChAwCwJQhQ4hMB4H8SwKAKgeA4MMfwQQRV9qGPcGw" +
"UQDjOBOGoDwUA9BWBuJ8CEIxlh7G+MgKgxRciEEkHERo9hUBWWIJURgqhRA4CoEsJYjxXhQAAKKoY8R6DjGYLMaYjgMAgBKKgAQwQ7jcBYGAP4Fx9TnE8MMOgAhDiHFg" +
"FgYAcAFA7F2DATYdxGCjCCGcWIgBzinAWI4R4MxZh5FEMgEIVwrgzCUPESgIhCCYCwP4CgPg/DiASDEQIwhnBuBIMYIQ6g9X2D2GYOYmxTD3AcB8CQ3hbh4FaGoHI3gk" +
"j7HIE4awEAiAtAaCkXwxQSBAH6CsEAgBhi5BSMscoihug5HxmgLgZQFhYAqKYGIMRPgvCwCwFgqh9gwFOOQAoKg4D8pm2UOIeQOAAHwOgEYWBXA7BcC4I4tBHDgBlkoQ" +
"95x7hJFaN4OgwRbgAHWPEYIcw6gFFqEYUwUxnhsB8DITYGQciaHeL0bIKBZADAoG0CgFxWioDuGYNolQLAEAWkEagowVCs2SFAeIWBzD7A5NwC4kAuB4DgAQWYqRuj7G" +
"SAoQwDCtgZH0OQCYGBjgOAiDgbAzxmBmDgHzjQQBvh3k+CwS4PR1jRHEMcNgAhLgXGMCsPgGAsguGeBkQ4cxTDzCGKYWYfQpDwCoAoRQZwzguA4B4BrVhsA7HhycDIpQ" +
"jhrDCHkeoiR4gLDQIQYIXAtMfD6EAdQaBrMBEiLEJIFAoAdCiBEKgow8jNHOCqwgrhMi+A2PEMIThWiZFcIMaoCBIhEGSJkTgOwhCAFGAcBIRxvCmBqIcLIvwrC4FyIE" +
"dYBRqDaEiEcRAYRBi/GcFIc4OBJDLCmNYVYGwzdGBMNMDIqgYC2DyO8dwQQLgHCWLsJwEB4hIHGNkVwWRvreAiI0LQKwRDZGwKAVgUQGD7AcEEUgIAnBQFEI0f4XAEO6" +
"GsHADoaBSDkEKE0DQwwoCuBMMwQYBx4DwAIEoDwjQOBYhUgNhGAGBwgWB9gCADhXBZhkBfgtAAgFApBNhKABAcuohnAPhphug6B2B3BehghyAghRArAWBgAjBghDhPAp" +
"AZF1DsB4hjAlBUBFBEhThiheArAFhVBtB1BIhuBiAHgUALBMgXhXg/hGAqAggbAuB+hZgKgQHdBSgTAxA2A1AfBDhigRBAgyBzApgFhAAjh9goAlhvBSBsArACsBgshA" +
"BBhNgVgphqBvBAg8higxA0hPhoghhkgNgcBaBtBRhhBdBHB2B2AeBQgFgRhxh4ADAYgsgtBWBahchdBgB6h8gjgTBMABgIgghqh0AXAcAJhtBEAQAVBigZBMh5hUAKBN" +
"guAKAph+BVgQBYBglUBUgKgbAOhZgEgOAOhghygagOAOAgAlARhRA5hOByAWh6g6p/gugChjAAhrABhWBDBHA6hDByBtgaBeg8hpATBVvSg2vRgDhSAHJxvQA+AhB4A5" +
"hJB3h0gzgjhUAEBagFAnhPg/g2BUhIqJhchGA3hUgJBmh8BIAmAAgnB4BnBxhegjgMgtAyhsgphVheAdADA+O2hAhzB4AQBxA+AzAsABhpBYgBATBuhOheB1BshTBNBZ" +
"g5gsBWAWAnBWALBYBUAOwAh0gTARhoB4segWBrg4A/Awhgh5h6Bch4hFhRghgFhSAjgjhwAshYBcAfAhh1AgAkAeg3geh5A8G2BSh6gHAAAVBnAghGBQBdA3A+gEAggM" +
"gfhqgth4BQlMBXgGBBA3BJgxhZg0g7BVhEBhB/A3AxBahlBWP0g7BMh0h9BiBoh/AkBvhMh4AqnwABhjAWh0hEBUgCgjh2gUA1gcAdBAhOgOhMAmBggZh5BjA1gOgtBQ" +
"h3h2hWBCg2gLgpAVsNBWhnAUBZhAhfBvgRhCAwASh6hbAUgyBihJBEBwA6gmh4BggBBSBBAygABghEgIgWAaBQB3BKgFAYBRAQAFBggig0BGgFAIg5hYhKBwB5BlAYBe" +
"gPAwAuA6h2B3hhhnA+ASBiBGA5g4BYADgYhGBUBBhVhNhcgispBFA4A/hnhyAFhnAEBKH9hjh6gNBnAnAwgfB1gMhjhAh0hmBsAwBWhQAsBygshDAChYhNhZguB6AuES" +
"BeB+gXB+ByABg3gugVgeAvg9g7hwBBgPh3z/AmATBYA/gsBshthngrBlBZhiBCgugaBeAFABBnA2h4hWAtB3BcBnBWghAxA1g/BCACBFgahKAFA+hrgIimgXAIhhBkBg" +
"hAhihCwVArhshvA4h+AwASAChAAHAqhVgVoTB5B1gIoOAxBBBphzgegbgFgcAeB2BggMgWA1BDBWB4BxgHgLAmMrBrB1gHAUgdgeA9BdgJEbhDgfhNAQhah5B7AXhWhI" +
"hdByAjh3gCgpB2Acg+hvB5hzBLhLhSBnB0BdhfBSBfqRgNhVAFAQhMB1hrhNAEhQhY1SB0ANAxgxA7gDg7A7gwBWAMg+BRB1hmBxApAjhlhtg6ADBAhdA8g8hZBpArBG" +
"ANBFhTA2g3hQhLBIhshWBxhggQgmA9g8B/BeBxzzh/AXh8JCgDAqAdglAMg8B+AJhMBnBwB0BgggAPAjhrBFgThqA4gigPADgiAVASudB6gJBUhAgtAwB3h4BFFxhwBh" +
"h7hQhyAhBnAlh6ASgOh/B9gFBIBrA8g6hbh2hWgrBmgpA1BjB9gkAmAWgAALBMA7g4A6AABnA6hLACglBjBChCAVBth9Atg1BTB3gGhZhhg0BrhvBNhJBSBvAzBTBjgn" +
"hwBTgPhhBig8hjsJBIgRBKhPBJAjgXAXoYgPAHAHgABrhRhoB8U0B5BzBGBqhxBFAVAYBGAVg5BUhqAtAMhrgFhzAdgbhSAqA8B7AKAlAvB4gJANB4AxALAoAiVhpxBk" +
"hqBZARBiAUgZBXBbAvKRARAzhFgGg9hdhMhshmAMARAMAIh5BnBeAgA6AyAdAMhUi4BeBPhsBMqrgzhJh3BdAchRARhXBYhhAYg7guAuhGAEBzAchLgrhYBeAMosB0AU" +
"B8hNBygmhnquAbgbgOgHAVhaA/B6AvBvgwBthRhdBwB9h/g3A4BEhohdBgh3h/gwA3BHge0eg4B6BwBLBtg+BHABAOBagzApBNApBOh6gBghB5gBAI4QgLhTAEBMhBgu" +
"gRgkhnAihOBlgtglhLBNBEg0hFBzBIvEhbhvBYBkB3gugzg+BehNBTg8A3hrhRBjAGhvA/BqBwhuBkBigygjgkAOgugbg5A+gGhpgkhnhkghh1gvAdAzhWhdBLBWAoAM" +
"h4BYhbg3AqAZBHhBBjhiB/ACBqgPBjhADNAfh+hoBdAtgpAfgmhCh3gghgANBIg2BegABQAaAXg0AHBBBLAxAYM0AiBXg6gyhSgWANhLgzglhRAoBMB6ARgpAWhWg3Bt" +
"BrR9hAAqg8gLAPtxAZhlgZAjhDgRgHgn1PgEBhgxBiB9hHAHgfgAAI09A1BYhZqNAwAYAHBWklgGBsgIBYhizSB4BMA4g8BjBcLHXkhCjqAIg1AsgwPRhWhsBshcBJBq" +
"gEhMhhhBgUg8gsA2gCgHAQhBYYAzBaBAgnBkgAARgRZShpgLANA3BxgChmgVhyBnAmBBADgaBJmrh0iUB+hwB+gzB+h2gyA9hRhigdAIA+BHhkAkgtnMgAhehShtAHZz" +
"BRgUidgqNYrtR1hThggtAEAfAohiBCBOA6AjA4gyhZgHA4ATg3BsB6g2hytDhPQwhjD5gLAVp+BDBsATgppBBkgMhzgdoOP+YahHB0BBW7gHBHAdBDB6hkB4gEhqAdB4" +
"ByBRhPBbuqBLBrACAPB/g2BwBmhbhPBQgWg2h/B2BhgJhvA+B6AGBzhwB+AGOkAJhSB6B0All2BUgaB0BtAtBEgkBjAbgbAUBJBbh7rOgyh9h2A7B2A+gzhtACAmBaZ1" +
"Bqh6BWgWgmgrAMvbBdgLALgjAOA0gdsEBfhlgLAhhrA1hcBcBYAzhaggAUgoAjBxgQhpBVBoBJBsgXBzBqI4gLgTgGB1gJgHBHgNApg+gkgLA8BQgjhqAaBqBpBQA1gu" +
"h5gWg6BNB/hEhvArhkBlhdBWgbBDA9gxgbAChuAjAcA2hSh6ATBWgkglhPhNgKAEhOgug1hxB0AEA3BXBmhRQRAZBrgBApBPg2g8hCgaByhUE8BUhKhwBHvMhKhwhrAP" +
"A9h4g8A0gYhaBMhqAzhvA/h4hwhlgDA/hrBQh7g1gDBcAug4AogAhSAhgbh6hiAjAQg1BXB+h9B1gjBKBdACBageBxh0hpgJgOATgUATBwBJhPhPhwAeh6ApzQgnA8B2" +
"glgegVBhgrAgg9AlgChbgZhHAXhvBsAuBeA2ArhiA7BoBFgHgvgZBsBIgvBVAMA1gxgAhtA2hfg3geBkAlB1BYrbhbgKhzBbBUhEpeMhgOhnA+hGg7hvBQhWgwBGhSB3" +
"A1heB5h3AahUhvhahtBvgGhQAOgRBhhbAtg6gDgBA2gEhjBtTmA2gMgshvOYB8h4B8BVgLAig+g1AGhChtheBdgIh0B3AZgYB5B5gUgCg8BBhghFglBdAHhLg8ccBagh" +
"gShvB0hwAhBWgxglhlgNgkBSArA612tcg6gZhrBLUohIgZBQZVAWFNh1h/BVhyBNhNgGAKA2BTgkAAhtgQhZBsgdB5BPhvh8hNhfh9h9A3g+h5gNhfhdAdB9B+h0Ahg2" +
"BmgiBYhGgGhYB2hUh8gIAthHhXA2hEB4BbB0E5haBwAOBvAjgxgvBtgTBFhjg8hHhqA5A/gmA2glhxg2gJhDAWhKhsg5BLgChrhth9n6giAVgwhhhnhOg0hlBuh8h3O1" +
"g6h5gdg5gPhzgOhZAvBKg/h9EuB+AXhwAEg4TXBIhUgHAtgTA/AOg8AJh8ARhwBrhsAaABA/hYhHBFAEh/gXhgA9pRk8BjA8g7hAgxg2A3hoAIhbAsg1BFAUhxBFhfAo" +
"hVAAhFAAhZh+AphwAYhbAzg0BsXwBcBugUhbBhh2g7Acgt5fhxAPhBAwg/AEguW/hgAkBBhgBzA0Bdg3faBwBFg3h+hmhYh4hBfSgxg5h1A/gBheADASgcAKg/gJAjCR" +
"gkgignAiBXAhAwBBCAg==");
axGrid1.set_HTMLPicture("p2","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" +
"DLZnCEAAgZAABJBFBOBECuBCBgCCEBA==");
object var_HTMLPicture = axGrid1.get_HTMLPicture("aka1");
axGrid1.HeaderHeight = 24;
axGrid1.DefaultItemHeight = 48;
axGrid1.DrawGridLines = EXGRIDLib.GridLinesEnum.exRowLines;
axGrid1.GridLineColor = Color.FromArgb(240,240,240);
axGrid1.SelBackMode = EXGRIDLib.BackModeEnum.exTransparent;
axGrid1.ColumnAutoResize = false;
axGrid1.ContinueColumnScroll = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.Columns[0].set_Def(EXGRIDLib.DefColumnEnum.exCellValueFormat,1);
axGrid1.Columns[0].FormatColumn = "value + ` <img>p` + (1 + (value mod 3 ) ) + `</img>`";
axGrid1.Columns[0].Width = 112;
axGrid1.Columns[1].set_Def(EXGRIDLib.DefColumnEnum.exCellHasCheckBox,1);
axGrid1.Columns[2].LevelKey = "1";
axGrid1.Columns[3].LevelKey = "1";
axGrid1.Columns[4].LevelKey = "1";
axGrid1.AutoDrag = EXGRIDLib.AutoDragEnum.exAutoDragCopyImage;
axGrid1.SingleSel = false;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items[1];
	var_Items.set_SelectItem(h,true);
	h = var_Items[2];
	var_Items.set_SelectItem(h,true);
	h = var_Items[3];
	var_Items.set_SelectItem(h,true);
	var_Items.set_LockedItemCount(EXGRIDLib.VAlignmentEnum.exBottom,1);
	h = var_Items.get_LockedItem(EXGRIDLib.VAlignmentEnum.exBottom,0);
	var_Items.set_CellValue(h,1,"<font ;16>Click the selection and <b>wait to start dragging</b>, and then drop to Microsoft Word, ...");
	var_Items.set_CellSingleLine(h,1,EXGRIDLib.CellSingleLineEnum.exCaptionWordWrap);
	var_Items.set_CellValueFormat(h,1,EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items.set_CellHAlignment(h,1,EXGRIDLib.AlignmentEnum.CenterAlignment);
	var_Items.set_ItemDivider(h,1);
	var_Items.set_ItemDividerLineAlignment(h,EXGRIDLib.DividerAlignmentEnum.DividerTop);
axGrid1.EndUpdate();

719
How can copy and paste the selection to Microsoft Word, Excel or any OLE compliant application, as a text

axGrid1.BeginUpdate();
axGrid1.ColumnAutoResize = false;
axGrid1.ContinueColumnScroll = false;
// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
ADODB.Recordset rs = new ADODB.Recordset();
	rs.Open("Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExGrid\\Sample\\Access\\misc.accdb",ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic,0);
axGrid1.DataSource = (rs as ADODB.Recordset);
axGrid1.Columns[2].LevelKey = "1";
axGrid1.Columns[3].LevelKey = "1";
axGrid1.Columns[4].LevelKey = "1";
axGrid1.AutoDrag = EXGRIDLib.AutoDragEnum.exAutoDragCopyText;
axGrid1.SingleSel = false;
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items[1];
	var_Items.set_SelectItem(h,true);
	h = var_Items[3];
	var_Items.set_SelectItem(h,true);
	h = var_Items[4];
	var_Items.set_SelectItem(h,true);
	h = var_Items[5];
	var_Items.set_SelectItem(h,true);
	var_Items.set_LockedItemCount(EXGRIDLib.VAlignmentEnum.exBottom,1);
	h = var_Items.get_LockedItem(EXGRIDLib.VAlignmentEnum.exBottom,0);
	var_Items.set_CellValue(h,0,"<font ;16>Click the selection and <b>wait to start dragging</b>, and then drop to Microsoft Word, Excel, ...");
	var_Items.set_CellSingleLine(h,0,EXGRIDLib.CellSingleLineEnum.exCaptionWordWrap);
	var_Items.set_CellValueFormat(h,0,EXGRIDLib.ValueFormatEnum.exHTML);
	var_Items.set_CellHAlignment(h,0,EXGRIDLib.AlignmentEnum.CenterAlignment);
	var_Items.set_ItemDivider(h,0);
	var_Items.set_ItemDividerLineAlignment(h,EXGRIDLib.DividerAlignmentEnum.DividerTop);
axGrid1.EndUpdate();

718
Is it possible to change the indentation during the drag and drop

axGrid1.BeginUpdate();
axGrid1.VisualAppearance.Add(1,"c:\\exontrol\\images\\normal.ebn");
axGrid1.AutoDrag = EXGRIDLib.AutoDragEnum.exAutoDragPositionAny;
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exNoLinesAtRoot;
axGrid1.HasLines = EXGRIDLib.HierarchyLineEnum.exSolidLine;
axGrid1.HasButtons = EXGRIDLib.ExpandButtonEnum.exWPlus;
axGrid1.ShowFocusRect = false;
axGrid1.SelBackMode = EXGRIDLib.BackModeEnum.exTransparent;
axGrid1.Columns.Add("Task");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Group 1");
	var_Items.set_ItemBold(h,true);
	var_Items.set_ItemDivider(h,0);
	int h1 = var_Items.InsertItem(h,null,"Task 1");
	int h2 = var_Items.InsertItem(h1,null,"Task 2");
	h2 = var_Items.InsertItem(h1,null,"Task 3");
	int h3 = var_Items.InsertItem(h,null,"Task 3");
	var_Items.set_ExpandItem(h,true);
	var_Items.set_ExpandItem(h1,true);
	h = var_Items.AddItem("Group 2");
	var_Items.set_ItemBold(h,true);
	var_Items.set_ItemDivider(h,0);
	var_Items.set_LockedItemCount(EXGRIDLib.VAlignmentEnum.exBottom,1);
	h = var_Items.get_LockedItem(EXGRIDLib.VAlignmentEnum.exBottom,0);
	var_Items.set_CellValue(h,0,"Click a row, and move by dragging <b>up, down</b> to change the row's parent or <b>left,right</b> to increase or decrease the i" +
"ndentation.");
	var_Items.set_CellSingleLine(h,0,EXGRIDLib.CellSingleLineEnum.exCaptionWordWrap);
	var_Items.set_CellValueFormat(h,0,EXGRIDLib.ValueFormatEnum.exHTML);
axGrid1.EndUpdate();

717
Is it possible to allow moving an item to another, but keeping its indentation

axGrid1.BeginUpdate();
axGrid1.VisualAppearance.Add(1,"c:\\exontrol\\images\\normal.ebn");
axGrid1.AutoDrag = EXGRIDLib.AutoDragEnum.exAutoDragPositionKeepIndent;
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exNoLinesAtRoot;
axGrid1.HasLines = EXGRIDLib.HierarchyLineEnum.exThinLine;
axGrid1.ShowFocusRect = false;
axGrid1.Columns.Add("Task");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("Group 1");
	var_Items.set_ItemDivider(h,0);
	var_Items.set_ItemBold(h,true);
	int h1 = var_Items.InsertItem(h,null,"Task 1");
	int h2 = var_Items.InsertItem(h,null,"Task 2");
	int h3 = var_Items.InsertItem(h,null,"Task 3");
	var_Items.set_ExpandItem(h,true);
	h = var_Items.AddItem("Group 2");
	var_Items.set_ItemBold(h,true);
	var_Items.set_ItemDivider(h,0);
axGrid1.EndUpdate();

716
How can I change the row's position to another, by drag and drop. Is it possible

axGrid1.BeginUpdate();
axGrid1.VisualAppearance.Add(1,"c:\\exontrol\\images\\normal.ebn");
axGrid1.AutoDrag = EXGRIDLib.AutoDragEnum.exAutoDragPosition;
axGrid1.Columns.Add("Task");
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h1 = var_Items.AddItem("Task 1");
	int h2 = var_Items.AddItem("Task 2");
	int h3 = var_Items.AddItem("Task 3");
axGrid1.EndUpdate();

715
Is it possible background color displayed when the mouse passes over an item

axGrid1.BeginUpdate();
axGrid1.Columns.Add("Def");
axGrid1.HotBackColor = Color.FromArgb(0,0,128);
axGrid1.HotForeColor = Color.FromArgb(255,255,255);
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem("Item A");
	var_Items.AddItem("Item B");
	var_Items.AddItem("Item C");
axGrid1.EndUpdate();

714
My development environment does not have any Object,GetOcx,DefaultDispatch,GetControlUnknown,nativeObject, ... property, is there any alternative I can pass the component to PrintExt so I can get printed

axGrid1.BeginUpdate();
axGrid1.Columns.Add("Task");
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem("Task 1");
	var_Items.AddItem("Task 2");
axGrid1.EndUpdate();
axGrid1.Template = "Dim p;p = CreateObject(`Exontrol.Print`);p.PrintExt = Me;p.AutoRelease = False;p.Preview();";

713
My development environment does not have any Object,GetOcx,DefaultDispatch,GetControlUnknown,nativeObject, ... property, is there any alternative I can pass the component to PrintExt so I can get printed

axGrid1.BeginUpdate();
axGrid1.Columns.Add("Default");
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem("Item 1");
	var_Items.AddItem("Task 2");
axGrid1.EndUpdate();
// Add 'ExPrint 1.0 Control Library(ExPrint.dll)' reference to your project.
EXPRINTLib.Print var_Print = new EXPRINTLib.Print();
	var_Print.PrintExt = (axGrid1.ExecuteTemplate("me") as EXGRIDLib.Grid);
	var_Print.Preview();

712
How can I apply the same ConditionalFormat on more than 1(one) column (multiple columns and not on item)

axGrid1.BeginUpdate();
EXGRIDLib.ConditionalFormat var_ConditionalFormat = axGrid1.ConditionalFormats.Add("1","K1");
	var_ConditionalFormat.BackColor = (uint)ColorTranslator.ToWin32(Color.FromArgb(255,0,0));
	var_ConditionalFormat.ApplyTo = (EXGRIDLib.FormatApplyToEnum)0x1;
EXGRIDLib.ConditionalFormat var_ConditionalFormat1 = axGrid1.ConditionalFormats.Add("1","K2");
	var_ConditionalFormat1.BackColor = (uint)ColorTranslator.ToWin32(Color.FromArgb(255,0,0));
	var_ConditionalFormat1.ApplyTo = (EXGRIDLib.FormatApplyToEnum)0x2;
axGrid1.MarkSearchColumn = false;
axGrid1.DrawGridLines = EXGRIDLib.GridLinesEnum.exRowLines;
EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	var_Columns.Add("Column 1");
	var_Columns.Add("Column 2");
	var_Columns.Add("Column 3");
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem(null);
	var_Items.AddItem(null);
	var_Items.AddItem(null);
axGrid1.EndUpdate();

711
Is it possible to add new records and see them in the control's view using the DataSource

// ButtonClick event - Occurs when user clicks on the cell's button.
private void axGrid1_ButtonClick(object sender, AxEXGRIDLib._IGridEvents_ButtonClickEvent e)
{
	// Add 'Microsoft ActiveX Data Objects 6.1 Library(msado15.dll)' reference to your project.
	ADODB.Recordset var_Recordset = (axGrid1.DataSource as ADODB.Recordset);
		var_Recordset.AddNew("Task","New-Task");
		var_Recordset.Update(null,null);
}
//this.axGrid1.ButtonClick += new AxEXGRIDLib._IGridEvents_ButtonClickEventHandler(this.axGrid1_ButtonClick);

// Error event - Fired when an internal error occurs.
private void axGrid1_Error(object sender, AxEXGRIDLib._IGridEvents_ErrorEvent e)
{
	System.Diagnostics.Debug.Print( e.description.ToString() );
}
//this.axGrid1.Error += new AxEXGRIDLib._IGridEvents_ErrorEventHandler(this.axGrid1_Error);

ADODB.Recordset rs = new ADODB.Recordset();
	rs.Append("Task",ADODB.DataTypeEnum.adBSTR,0,null,null);
	rs.Append("Start",ADODB.DataTypeEnum.adDate,0,null,null);
	rs.Append("End",ADODB.DataTypeEnum.adDate,0,null,null);
rs.Open(null,null,null,null,0);
axGrid1.DrawGridLines = EXGRIDLib.GridLinesEnum.exRowLines;
axGrid1.DetectAddNew = true;
axGrid1.DetectDelete = true;
axGrid1.DataSource = (rs as ADODB.Recordset);
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.set_LockedItemCount(EXGRIDLib.VAlignmentEnum.exTop,1);
	int h = var_Items.get_LockedItem(EXGRIDLib.VAlignmentEnum.exTop,0);
	var_Items.set_ItemDivider(h,0);
	var_Items.set_ItemHeight(h,22);
	var_Items.set_CellValue(h,0,"AddNew");
	var_Items.set_CellHasButton(h,0,true);
	var_Items.set_CellHAlignment(h,0,EXGRIDLib.AlignmentEnum.CenterAlignment);

710
How can I initiate an OLE Drag and Drop operation in /COM version

// OLEStartDrag event - Occurs when the OLEDrag method is called.
private void axGrid1_OLEStartDrag(object sender, AxEXGRIDLib._IGridEvents_OLEStartDragEvent e)
{
	// Data.SetData("your data to drag")
	e.allowedEffects = 2;
}
//this.axGrid1.OLEStartDrag += new AxEXGRIDLib._IGridEvents_OLEStartDragEventHandler(this.axGrid1_OLEStartDrag);

axGrid1.BeginUpdate();
axGrid1.Columns.Add("Default");
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem("Item 1");
	var_Items.AddItem("Item 2");
	var_Items.AddItem("Item 3");
	var_Items.AddItem("Item 4");
	var_Items.AddItem("Item 5");
axGrid1.OLEDropMode = EXGRIDLib.exOLEDropModeEnum.exOLEDropManual;
axGrid1.EndUpdate();

709
How can I find the order of the events
// AfterExpandItem event - Fired after an item is expanded (collapsed).
private void axGrid1_AfterExpandItem(object sender, AxEXGRIDLib._IGridEvents_AfterExpandItemEvent e)
{
	System.Diagnostics.Debug.Print( "AfterExpandItem" );
	System.Diagnostics.Debug.Print( e.item.ToString() );
}
//this.axGrid1.AfterExpandItem += new AxEXGRIDLib._IGridEvents_AfterExpandItemEventHandler(this.axGrid1_AfterExpandItem);

// AnchorClick event - Occurs when an anchor element is clicked.
private void axGrid1_AnchorClick(object sender, AxEXGRIDLib._IGridEvents_AnchorClickEvent e)
{
	System.Diagnostics.Debug.Print( "AnchorClick" );
	System.Diagnostics.Debug.Print( e.anchorID.ToString() );
	System.Diagnostics.Debug.Print( e.options.ToString() );
}
//this.axGrid1.AnchorClick += new AxEXGRIDLib._IGridEvents_AnchorClickEventHandler(this.axGrid1_AnchorClick);

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
private void axGrid1_BeforeExpandItem(object sender, AxEXGRIDLib._IGridEvents_BeforeExpandItemEvent e)
{
	System.Diagnostics.Debug.Print( "BeforeExpandItem" );
	System.Diagnostics.Debug.Print( e.item.ToString() );
}
//this.axGrid1.BeforeExpandItem += new AxEXGRIDLib._IGridEvents_BeforeExpandItemEventHandler(this.axGrid1_BeforeExpandItem);

// ButtonClick event - Occurs when user clicks on the cell's button.
private void axGrid1_ButtonClick(object sender, AxEXGRIDLib._IGridEvents_ButtonClickEvent e)
{
	System.Diagnostics.Debug.Print( "ButtonClick" );
	System.Diagnostics.Debug.Print( e.item.ToString() );
	System.Diagnostics.Debug.Print( e.colIndex.ToString() );
	System.Diagnostics.Debug.Print( e.key.ToString() );
}
//this.axGrid1.ButtonClick += new AxEXGRIDLib._IGridEvents_ButtonClickEventHandler(this.axGrid1_ButtonClick);

// CellImageClick event - Fired after the user clicks on the image's cell area.
private void axGrid1_CellImageClick(object sender, AxEXGRIDLib._IGridEvents_CellImageClickEvent e)
{
	System.Diagnostics.Debug.Print( "CellImageClick" );
	System.Diagnostics.Debug.Print( e.item.ToString() );
	System.Diagnostics.Debug.Print( e.colIndex.ToString() );
}
//this.axGrid1.CellImageClick += new AxEXGRIDLib._IGridEvents_CellImageClickEventHandler(this.axGrid1_CellImageClick);

// CellStateChanged event - Fired after cell's state has been changed.
private void axGrid1_CellStateChanged(object sender, AxEXGRIDLib._IGridEvents_CellStateChangedEvent e)
{
	System.Diagnostics.Debug.Print( "CellStateChanged" );
	System.Diagnostics.Debug.Print( e.item.ToString() );
	System.Diagnostics.Debug.Print( e.colIndex.ToString() );
}
//this.axGrid1.CellStateChanged += new AxEXGRIDLib._IGridEvents_CellStateChangedEventHandler(this.axGrid1_CellStateChanged);

// Change event - Occurs when the user changes the cell's content.
private void axGrid1_Change(object sender, AxEXGRIDLib._IGridEvents_ChangeEvent e)
{
	System.Diagnostics.Debug.Print( "Change" );
	System.Diagnostics.Debug.Print( e.item.ToString() );
	System.Diagnostics.Debug.Print( e.colIndex.ToString() );
	System.Diagnostics.Debug.Print( e.newValue.ToString() );
}
//this.axGrid1.Change += new AxEXGRIDLib._IGridEvents_ChangeEventHandler(this.axGrid1_Change);

// Click event - Occurs when the user presses and then releases the left mouse button over the grid control.
private void axGrid1_ClickEvent(object sender, EventArgs e)
{
	System.Diagnostics.Debug.Print( "Click" );
}
//this.axGrid1.ClickEvent += new EventHandler(this.axGrid1_ClickEvent);

// ColumnClick event - Fired after the user clicks on column's header.
private void axGrid1_ColumnClick(object sender, AxEXGRIDLib._IGridEvents_ColumnClickEvent e)
{
	System.Diagnostics.Debug.Print( "ColumnClick" );
}
//this.axGrid1.ColumnClick += new AxEXGRIDLib._IGridEvents_ColumnClickEventHandler(this.axGrid1_ColumnClick);

// DblClick event - Occurs when the user dblclk the left mouse button over an object.
private void axGrid1_DblClick(object sender, AxEXGRIDLib._IGridEvents_DblClickEvent e)
{
	System.Diagnostics.Debug.Print( "DblClick" );
	System.Diagnostics.Debug.Print( e.shift.ToString() );
	System.Diagnostics.Debug.Print( e.x.ToString() );
	System.Diagnostics.Debug.Print( e.y.ToString() );
	axGrid1.Edit(null);
}
//this.axGrid1.DblClick += new AxEXGRIDLib._IGridEvents_DblClickEventHandler(this.axGrid1_DblClick);

// Edit event - Occurs just before editing the focused cell.
private void axGrid1_EditEvent(object sender, AxEXGRIDLib._IGridEvents_EditEvent e)
{
	System.Diagnostics.Debug.Print( "Edit" );
	System.Diagnostics.Debug.Print( e.item.ToString() );
	System.Diagnostics.Debug.Print( e.colIndex.ToString() );
}
//this.axGrid1.EditEvent += new AxEXGRIDLib._IGridEvents_EditEventHandler(this.axGrid1_EditEvent);

// EditClose event - Occurs when the edit operation ends.
private void axGrid1_EditCloseEvent(object sender, EventArgs e)
{
	System.Diagnostics.Debug.Print( "EditClose" );
}
//this.axGrid1.EditCloseEvent += new EventHandler(this.axGrid1_EditCloseEvent);

// EditOpen event - Occurs when the edit operation starts.
private void axGrid1_EditOpen(object sender, EventArgs e)
{
	System.Diagnostics.Debug.Print( "EditOpen" );
}
//this.axGrid1.EditOpen += new EventHandler(this.axGrid1_EditOpen);

// FilterChange event - Occurs when filter was changed.
private void axGrid1_FilterChange(object sender, EventArgs e)
{
	System.Diagnostics.Debug.Print( "FilterChange" );
}
//this.axGrid1.FilterChange += new EventHandler(this.axGrid1_FilterChange);

// FilterChanging event - Notifies your application that the filter is about to change.
private void axGrid1_FilterChanging(object sender, EventArgs e)
{
	System.Diagnostics.Debug.Print( "FilterChanging" );
}
//this.axGrid1.FilterChanging += new EventHandler(this.axGrid1_FilterChanging);

// FocusChanged event - Occurs when a new cell is focused.
private void axGrid1_FocusChanged(object sender, EventArgs e)
{
	System.Diagnostics.Debug.Print( "FocusChanged" );
}
//this.axGrid1.FocusChanged += new EventHandler(this.axGrid1_FocusChanged);

// KeyDown event - Occurs when the user presses a key while an object has the focus.
private void axGrid1_KeyDownEvent(object sender, AxEXGRIDLib._IGridEvents_KeyDownEvent e)
{
	System.Diagnostics.Debug.Print( "KeyDown" );
	System.Diagnostics.Debug.Print( e.keyCode.ToString() );
	System.Diagnostics.Debug.Print( e.shift.ToString() );
}
//this.axGrid1.KeyDownEvent += new AxEXGRIDLib._IGridEvents_KeyDownEventHandler(this.axGrid1_KeyDownEvent);

// KeyPress event - Occurs when the user presses and releases an ANSI key.
private void axGrid1_KeyPressEvent(object sender, AxEXGRIDLib._IGridEvents_KeyPressEvent e)
{
	System.Diagnostics.Debug.Print( "KeyPress" );
	System.Diagnostics.Debug.Print( e.keyAscii.ToString() );
}
//this.axGrid1.KeyPressEvent += new AxEXGRIDLib._IGridEvents_KeyPressEventHandler(this.axGrid1_KeyPressEvent);

// KeyUp event - Occurs when the user releases a key while an object has the focus.
private void axGrid1_KeyUpEvent(object sender, AxEXGRIDLib._IGridEvents_KeyUpEvent e)
{
	System.Diagnostics.Debug.Print( "KeyUp" );
	System.Diagnostics.Debug.Print( e.keyCode.ToString() );
	System.Diagnostics.Debug.Print( e.shift.ToString() );
}
//this.axGrid1.KeyUpEvent += new AxEXGRIDLib._IGridEvents_KeyUpEventHandler(this.axGrid1_KeyUpEvent);

// LayoutChanged event - Occurs when column's position or column's size is changed.
private void axGrid1_LayoutChanged(object sender, EventArgs e)
{
	System.Diagnostics.Debug.Print( "LayoutChanged" );
}
//this.axGrid1.LayoutChanged += new EventHandler(this.axGrid1_LayoutChanged);

// MouseDown event - Occurs when the user presses a mouse button.
private void axGrid1_MouseDownEvent(object sender, AxEXGRIDLib._IGridEvents_MouseDownEvent e)
{
	System.Diagnostics.Debug.Print( "MouseDown" );
	System.Diagnostics.Debug.Print( e.button.ToString() );
	System.Diagnostics.Debug.Print( e.shift.ToString() );
	System.Diagnostics.Debug.Print( e.x.ToString() );
	System.Diagnostics.Debug.Print( e.y.ToString() );
}
//this.axGrid1.MouseDownEvent += new AxEXGRIDLib._IGridEvents_MouseDownEventHandler(this.axGrid1_MouseDownEvent);

// MouseMove event - Occurs when the user moves the mouse.
private void axGrid1_MouseMoveEvent(object sender, AxEXGRIDLib._IGridEvents_MouseMoveEvent e)
{
}
//this.axGrid1.MouseMoveEvent += new AxEXGRIDLib._IGridEvents_MouseMoveEventHandler(this.axGrid1_MouseMoveEvent);

// MouseUp event - Occurs when the user releases a mouse button.
private void axGrid1_MouseUpEvent(object sender, AxEXGRIDLib._IGridEvents_MouseUpEvent e)
{
	System.Diagnostics.Debug.Print( "MouseUp" );
	System.Diagnostics.Debug.Print( e.button.ToString() );
	System.Diagnostics.Debug.Print( e.shift.ToString() );
	System.Diagnostics.Debug.Print( e.x.ToString() );
	System.Diagnostics.Debug.Print( e.y.ToString() );
}
//this.axGrid1.MouseUpEvent += new AxEXGRIDLib._IGridEvents_MouseUpEventHandler(this.axGrid1_MouseUpEvent);

// OffsetChanged event - Occurs when the scroll position has been changed.
private void axGrid1_OffsetChanged(object sender, AxEXGRIDLib._IGridEvents_OffsetChangedEvent e)
{
	System.Diagnostics.Debug.Print( "OffsetChanged" );
	System.Diagnostics.Debug.Print( e.horizontal.ToString() );
	System.Diagnostics.Debug.Print( e.newVal.ToString() );
}
//this.axGrid1.OffsetChanged += new AxEXGRIDLib._IGridEvents_OffsetChangedEventHandler(this.axGrid1_OffsetChanged);

// OversizeChanged event - Occurs when the right range of the scroll has been changed.
private void axGrid1_OversizeChanged(object sender, AxEXGRIDLib._IGridEvents_OversizeChangedEvent e)
{
	System.Diagnostics.Debug.Print( "OversizeChanged" );
	System.Diagnostics.Debug.Print( e.horizontal.ToString() );
	System.Diagnostics.Debug.Print( e.newVal.ToString() );
}
//this.axGrid1.OversizeChanged += new AxEXGRIDLib._IGridEvents_OversizeChangedEventHandler(this.axGrid1_OversizeChanged);

// RClick event - Fired when right mouse button is clicked
private void axGrid1_RClick(object sender, EventArgs e)
{
	System.Diagnostics.Debug.Print( "RClick" );
}
//this.axGrid1.RClick += new EventHandler(this.axGrid1_RClick);

// ScrollButtonClick event - Occurs when the user clicks a button in the scrollbar.
private void axGrid1_ScrollButtonClick(object sender, AxEXGRIDLib._IGridEvents_ScrollButtonClickEvent e)
{
	System.Diagnostics.Debug.Print( "ScrollButtonClick" );
	System.Diagnostics.Debug.Print( e.scrollBar.ToString() );
	System.Diagnostics.Debug.Print( e.scrollPart.ToString() );
}
//this.axGrid1.ScrollButtonClick += new AxEXGRIDLib._IGridEvents_ScrollButtonClickEventHandler(this.axGrid1_ScrollButtonClick);

// SelectionChanged event - Fired after a new item has been selected.
private void axGrid1_SelectionChanged(object sender, EventArgs e)
{
	System.Diagnostics.Debug.Print( "SelectionChanged" );
}
//this.axGrid1.SelectionChanged += new EventHandler(this.axGrid1_SelectionChanged);

// Sort event - Fired when the control sorts a column.
private void axGrid1_Sort(object sender, EventArgs e)
{
	System.Diagnostics.Debug.Print( "Sort" );
}
//this.axGrid1.Sort += new EventHandler(this.axGrid1_Sort);

axGrid1.BeginUpdate();
axGrid1.Images("gBJJgBAIEAAGAEGCAAhb/hz/EIAh8Tf5CJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1BAmBhOCwMGwuDw2ExWJxmIx2HyGLv+TlykUCgABmGYzzObzuczWcKujzOa0ug02h" +
"z+r1Wtz2qoCA2QAYG1yk02YA3NMy2Yh8Sh202zx4gA4jxADM5XG4vHACy6ESdjM6XUZiZTMS5bwZSm1c83+yQHCYHk81Q8O7qW18u/9NG3vAf/y83u4PQWQA0ZVADq/z" +
"6um6rkuw7TqH+5bYJu+z5vE8z2N02cGweoDfwfCrbQfBqkNzBb6QfDLxp6+LlOs5cSOTEzlm7FYACFFwADvGIAGvGjzOu7MbwHHECQSmUOvS8cGwk20gQc2ycQs4MLvL" +
"D8MNtDSfyS+cmyZJzywa96axzDsTw6/x1AAL8xRbF8Vm65jkH/AL8QFNTqR6lsfuDIb2uDKTzTo88FTtIk+PK3SNRDKiew5JVDSnK08NnOUGRClkt0PFEDUjMwAENS4A" +
"M2zj4udNznujT1PTgjdGQg8c71RPtESvCL1JrO8lozQUj1nP6d1TKtc0U8dS1jCaNRzGhrxnGthWJYdjUrYwc2ZMMx2NB8czZNk4VLPMstzXD6Q6mltVjPNAT0m1CvnD" +
"tBxBXlI3PRKNzZDtjQ6cd5TQ/TSU0/r/udC0A1Ez1SUja8/QhWVavrSLfpxWNzXZR2CygmVtXXVl03Lg+BV+lV3UjeDgzEL4AXkcb6Pje5LZNDzhuLfrOX/RtT0TQbc5" +
"lENSvBi2K5xlFdUHhN1ZhJ9F59WybOU7NjWTFkvxhGT9zIIQAWYHIABFqmnABSsT0HUaNYlI1dZmjNuUDRybzvIVWyDoOc54n8Oyxm9Ta9cSUaLbbg44+b4xiO9nY/pt" +
"73u38Tuc52tpdruYxDVyUbBV+gYpu2c7PyGMKTt21cjnW6OvzO8PppUvP/Ljlt/wt/Vvn+v8V1eCdbgaa7fnMi8vyD0TnzGEJXyp/wJ3js98iXe+F3/hwGM3jeQZjTeU" +
"znmOT5bTKJyqYcbm2c5bzXpqvsWw4FUkCO473wgB8cD9/znzO14n1+D4/efcTP4fl5+WKvxbbptmqV+B/ni/68R4514AvxeTAR50B3oPNei/iBhFgfErgeR4kBIiSAAJ" +
"KSiC7PT5wMKIQ4fwfyHDzg2PwD4/B/jgg2PgA48AfjgB+RkeAARwAPGAA8jI4AADgAOMAAZGTyw6YbDkA7ZDaAHgxDyCxGgBw8EBBmJcS4LjAATDweBGoqjgAGP4jQ/A" +
"cjwAHBsiQex8gPH+MF7pDxxkB");
axGrid1.DrawGridLines = EXGRIDLib.GridLinesEnum.exAllLines;
axGrid1.LinesAtRoot = EXGRIDLib.LinesAtRootEnum.exLinesAtRoot;
axGrid1.GridLineStyle = EXGRIDLib.GridLinesStyleEnum.exGridLinesHDash;
axGrid1.AutoEdit = false;
axGrid1.ExpandOnDblClick = false;
EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	EXGRIDLib.Column var_Column = (var_Columns.Add("Column") as EXGRIDLib.Column);
		var_Column.DisplayFilterButton = true;
		var_Column.set_Def(EXGRIDLib.DefColumnEnum.exCellHasCheckBox,true);
		var_Column.Editor.EditType = EXGRIDLib.EditTypeEnum.EditType;
	EXGRIDLib.Column var_Column1 = (var_Columns.Add("Button") as EXGRIDLib.Column);
		var_Column1.AllowSizing = false;
		var_Column1.Width = 18;
		var_Column1.set_Def(EXGRIDLib.DefColumnEnum.exCellHasButton,true);
EXGRIDLib.Items var_Items = axGrid1.Items;
	int h = var_Items.AddItem("parent");
	var_Items.set_CellImage(h,0,1);
	var_Items.InsertItem(h,"","child");
	var_Items.set_ExpandItem(h,true);
axGrid1.EndUpdate();

708
Is it possible to select a column instead sorting it

// ColumnClick event - Fired after the user clicks on column's header.
private void axGrid1_ColumnClick(object sender, AxEXGRIDLib._IGridEvents_ColumnClickEvent e)
{
	// Column.Selected = True
	axGrid1.BeginUpdate();
	axGrid1.Columns[0].Selected = false;
	axGrid1.Columns[1].Selected = false;
	axGrid1.Items.SelectAll();
	axGrid1.EndUpdate();
}
//this.axGrid1.ColumnClick += new AxEXGRIDLib._IGridEvents_ColumnClickEventHandler(this.axGrid1_ColumnClick);

axGrid1.BeginUpdate();
axGrid1.MarkSearchColumn = false;
axGrid1.ShowFocusRect = false;
axGrid1.SingleSel = false;
axGrid1.FullRowSelect = EXGRIDLib.CellSelectEnum.exRectSel;
axGrid1.SortOnClick = EXGRIDLib.SortOnClickEnum.exNoSort;
EXGRIDLib.Columns var_Columns = axGrid1.Columns;
	var_Columns.Add("Column1");
	var_Columns.Add("Column2");
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.set_CellValue(var_Items.AddItem("One"),1,"Three");
	var_Items.set_CellValue(var_Items.AddItem("Two"),1,"Four");
	var_Items.SelectAll();
axGrid1.EndUpdate();

707
Is it possible to display empty strings for 0 values

EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Currency") as EXGRIDLib.Column);
	var_Column.FormatColumn = "dbl(value) ? currency(dbl(value)) : ``";
	EXGRIDLib.Editor var_Editor = var_Column.Editor;
		var_Editor.EditType = EXGRIDLib.EditTypeEnum.EditType;
		var_Editor.Numeric = EXGRIDLib.NumericEnum.exFloat;
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem(1.23);
	var_Items.AddItem(2.34);
	var_Items.AddItem(0);
	var_Items.AddItem(10000.99);

706
Is it possible to display empty strings for 0 values

axGrid1.Columns.Add("Number");
(axGrid1.Columns.Add("Currency") as EXGRIDLib.Column).ComputedField = "%0 ? currency(%0) : ``";
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem(1.23);
	var_Items.AddItem(2.34);
	var_Items.AddItem(0);
	var_Items.AddItem(10000.99);

705
How can I get the list of items as they are displayed

axGrid1.BeginUpdate();
axGrid1.BackColorAlternate = Color.FromArgb(240,240,240);
axGrid1.Columns.Add("Names");
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem("Mantel");
	var_Items.AddItem("Mechanik");
	var_Items.AddItem("Motor");
	var_Items.AddItem("Murks");
	var_Items.AddItem("Märchen");
	var_Items.AddItem("Möhren");
	var_Items.AddItem("Mühle");
axGrid1.Columns[0].SortOrder = EXGRIDLib.SortOrderEnum.SortAscending;
axGrid1.EndUpdate();
System.Diagnostics.Debug.Print( axGrid1.GetItems(1).ToString() );

704
Is it possible to add new rows, as I type like in Excel

// EditClose event - Occurs when the edit operation ends.
private void axGrid1_EditCloseEvent(object sender, EventArgs e)
{
	axGrid1.Items.AddItem("");
}
//this.axGrid1.EditCloseEvent += new EventHandler(this.axGrid1_EditCloseEvent);

axGrid1.BeginUpdate();
axGrid1.AutoEdit = true;
(axGrid1.Columns.Add("Default") as EXGRIDLib.Column).Editor.EditType = EXGRIDLib.EditTypeEnum.EditType;
axGrid1.FullRowSelect = EXGRIDLib.CellSelectEnum.exColumnSel;
axGrid1.Items.AddItem("");
axGrid1.DrawGridLines = EXGRIDLib.GridLinesEnum.exAllLines;
axGrid1.ScrollBars = EXGRIDLib.ScrollBarsEnum.exDisableBoth;
axGrid1.EndUpdate();

703
Is posible to reduce the size of the picture to be shown in the column's caption

axGrid1.BeginUpdate();
axGrid1.set_HTMLPicture("pic1","c:\\exontrol\\images\\zipdisk.gif");
axGrid1.HeaderHeight = 48;
(axGrid1.Columns.Add("DefaultSize") as EXGRIDLib.Column).HTMLCaption = "Default-Size <img>pic1</img> Picture";
(axGrid1.Columns.Add("CustomSize") as EXGRIDLib.Column).HTMLCaption = "Custom-Size <img>pic1:16</img> Picture";
axGrid1.EndUpdate();

702
How can I change the color, font, bold etc for the items/cells in the same column or for the entire column

axGrid1.BeginUpdate();
EXGRIDLib.ConditionalFormat var_ConditionalFormat = axGrid1.ConditionalFormats.Add("1",null);
	var_ConditionalFormat.Bold = true;
	var_ConditionalFormat.ForeColor = (uint)ColorTranslator.ToWin32(Color.FromArgb(255,0,0));
	var_ConditionalFormat.ApplyTo = (EXGRIDLib.FormatApplyToEnum)0x1;
axGrid1.Columns.Add("C1");
EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("C2") as EXGRIDLib.Column);
	var_Column.HeaderBold = true;
	var_Column.HTMLCaption = "<fgcolor=FF0000>C2";
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.set_CellValue(var_Items.AddItem(10),1,11);
	var_Items.set_CellValue(var_Items.AddItem(12),1,13);
axGrid1.EndUpdate();

701
How can I filter the check-boxes (method 2)

EXGRIDLib.Column var_Column = (axGrid1.Columns.Add("Check") as EXGRIDLib.Column);
	EXGRIDLib.Editor var_Editor = var_Column.Editor;
		var_Editor.EditType = EXGRIDLib.EditTypeEnum.CheckValueType;
		var_Editor.set_Option(EXGRIDLib.EditorOptionEnum.exCheckValue2,1);
	var_Column.DisplayFilterButton = true;
	var_Column.DisplayFilterPattern = false;
	var_Column.CustomFilter = "checked||-1|||unchecked||0";
EXGRIDLib.Items var_Items = axGrid1.Items;
	var_Items.AddItem(true);
	var_Items.AddItem(true);
	var_Items.AddItem(false);
	var_Items.AddItem(true);
	var_Items.AddItem(false);
	var_Items.AddItem(true);
	var_Items.AddItem(false);